如何连接数据库并插入数据
问题描述:
我收到有关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();
}
答
尝试添加像这样的参数。
cmd.Parameters.Add("p1", OleDbType.Char).Value = MemoDate ;
+0
从我+1,你做不需要担心,如果有人检查它,或者将其标记为答案。你可能会给出很多答案。 – Aristos 2013-02-21 08:24:12
您正在'ServerConnect'方法中创建并打开连接。除非'TConn'是一个全局变量,并且您可以在任何其他方法之前调用ServerConnect方法,否则您的'OleDbCommand'将不会有打开的连接来执行。 – Tim 2013-02-21 01:31:02
你能帮我怎么连接服务器连接im初学者连接数据库先生谢谢 – Timart 2013-02-21 01:41:41
先生我得到了它的谢谢但我得到了另一个错误“没有价值给予一个或多个参数要求” – Timart 2013-02-21 01:48:40