Сбой при вставке данных в базу данных доступа - PullRequest
2 голосов
/ 02 июля 2011

Я работаю в 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 Ответ

3 голосов
/ 02 июля 2011

Проблема может заключаться в том, что вы вставляете все поля как text значения, а некоторые могут быть определены как числовые в таблице MS Access (rollNo?)

Кроме того, привыкните к использованию параметров в ваших запросах:

cmd.CommandText = "Insert into StudentInfo(Rollno,SName,SFather,SAdress) Values (?,?,?,?)";
cmd.Parameters.Add(new OleDbParameter("@rollNo", rollNoValue)); //etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...