如何连接数据库并插入数据

如何连接数据库并插入数据

问题描述:

我收到有关ExecuteNonquery is not initialized的错误。如何连接数据库并插入数据

而且我认为可能会连接到数据库错误,因为MessageBox没有出现在执行系统之前。

//Server Connection 
private void ServerConnect() 
{ 

    string ConnString; 
    ConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=PLAN.accdb"; 
    TConn = new OleDbConnection(ConnString); 
    TConn.Open(); 
    MessageBox.Show("You Are Connected."); 
} 

//ADD MEMOS 
private void GetMemoList() 
{ 

    string query; 
    DataSet ds = new DataSet(); 
    query = "SELECT MEMOS_ID,DATE,TIME,MEMOS FROM TBLMEMOS ORDER BY DATE ASC"; 
    OleDbDataAdapter da = new OleDbDataAdapter(query, TConn); 
    da.Fill(ds); 
    this.dgv1.DataSource = ds.Tables[0]; 
} 

private void AddMemo(string MemoDate, string MemoTime, string Memos) 
{ 

    string acc; 
    acc = "INSERT INTO TBLMEMOS (DATE,TIME,MEMOS) VALUES ('" + MemoDate + "','" + MemoTime + "','" + Memos + "')"; 
    OleDbCommand cmd = new OleDbCommand(); 
    cmd.CommandText = acc; 
    cmd.Connection = TConn; 
    cmd.ExecuteNonQuery(); 
} 

private void btnAddMemos_Click(object sender, EventArgs e) 
{ 

    AddMemo(this.dtpDate.Value.ToShortDateString(), this.dtpTime.Value.ToShortTimeString(), this.txtInfo.Text.Trim()); 
    GetMemoList(); 
    txtInfo.Clear(); 
} 
+0

您正在'ServerConnect'方法中创建并打开连接。除非'TConn'是一个全局变量,并且您可以在任何其他方法之前调用ServerConnect方法,否则您的'OleDbCommand'将不会有打开的连接来执行。 – Tim 2013-02-21 01:31:02

+0

你能帮我怎么连接服务器连接im初学者连接数据库先生谢谢 – Timart 2013-02-21 01:41:41

+0

先生我得到了它的谢谢但我得到了另一个错误“没有价值给予一个或多个参数要求” – Timart 2013-02-21 01:48:40

尝试添加像这样的参数。

cmd.Parameters.Add("p1", OleDbType.Char).Value = MemoDate ; 
+0

从我+1,你做不需要担心,如果有人检查它,或者将其标记为答案。你可能会给出很多答案。 – Aristos 2013-02-21 08:24:12