2014-01-22 411 views
0

有什么错我的代码,我只是想将数据添加到访问数据库,但它表明ExecuteNonQuery的ExecuteNonQuery:Connection属性尚未初始化(Access数据库)

连接属性尚未初始化。

这很奇怪,因为在其他项目代码类似于此工程就好了。

OleDbCommand command = new OleDbCommand(); 
OleDbConnection connect = new OleDbConnection(); 
OleDbDataReader reader; 

    public Absen() 
    { 
     InitializeComponent(); 
    } 

    MainForm form_utama; 

    private void Absen_Load(object sender, EventArgs e) 
    { 
     connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Visual Studio Project\Minor baru - back up\Minor baru\Absensi.accdb;Persist Security Info=False;"; 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     if (idkaryawantxt.Text != "") 
     { 
      string q = "insert into tableAbsensi (ID,ID_divisi,Waktu,Tanggal) values ('" + idkaryawantxt.Text.ToString() + "','" + iddivisitxt.Text.ToString() + "','" + (DateTime.Now.ToString("hh:mm :")) + "','" + (DateTime.Now.ToString("MM-dd-yyyy")) + "')"; 
      dosomething(q); 
     } 
    } 

    private void dosomething(String q) 
    { 
     try 
      { 
       connect.Open(); 
       command.CommandText = q; 
       command.ExecuteNonQuery(); 
       connect.Close(); 
      } 
      catch (Exception e) 
      { 
       connect.Close(); 
       MessageBox.Show(e.Message.ToString()); 
      } 
    } 

回答

3

你没有设置你的Command'sConnection财产

command.Connection = connect; 

之前执行你的命令,你应该将其设置为错误说

+0

+1另外不要忘了** **处置所有这些对象(未使用时的连接和执行后的命令)。 –

+0

谢谢!你帮我〜 虽然XD很有趣 – wendy

相关问题