2011-07-02 5 views
2

저는 C#에서 데이터를 Access 데이터베이스에 삽입하려고합니다. 그것은 제대로 실행되지만 데이터를 삽입하려고하면 충돌, 어떤 생각?데이터를 액세스 데이터베이스에 삽입 할 때 충돌이 발생합니다.

public partial class StudentInfo : Form 
{ 
    private OleDbConnection myCon; 

    public StudentInfo() 
    { 
     InitializeComponent(); 
     myCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\database program\database program\Students.mdb"); 
    } 


    private void InsertBtn_Click(object sender, EventArgs e) 
    { 
     OleDbCommand cmd = new OleDbCommand(); 
     cmd.CommandType = CommandType.Text; 
     cmd.CommandText = "Insert into StudentInfo(Rollno,SName,SFather,SAdress) Values ('"+ Rollnotb.Text+"','"+nametb.Text+"','"+fathertb.Text+"','"+adresstb.Text+"')"; 
     cmd.Connection=myCon; 
     myCon.Open(); 
     cmd.ExecuteNonQuery(); 
     myCon.Close(); 
    } 
} 
+1

무엇이 오류입니까? – ChrisBint

+0

데이터를 삽입 할 때 오류가 발생하는 경우에만 오류가 발생합니다. – Furqi

답변

3

문제는 당신이 text 값으로 모든 필드를 삽입하고 어쩌면 일부는 MS Access 테이블에 숫자로 정의되도록 할 수 있습니다 (rollNo?)

또한, 쿼리에 paremeters를 사용하여 익숙해 :

cmd.CommandText = "Insert into StudentInfo(Rollno,SName,SFather,SAdress) Values (?,?,?,?)"; 
cmd.Parameters.Add(new OleDbParameter("@rollNo", rollNoValue)); //etc. 
+0

예 rollno는 MS Access에서 숫자입니다. – Furqi

관련 문제