2013-02-21 6 views
0

Я получаю сообщение об ошибке 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

+0

Можете ли вы помочь мне подключиться к серверному соединению im beginner в разделе «Подключение базы данных» sir thank you – Timart

+0

Сэр, я получил это спасибо. Но у меня есть еще одна ошибка «Нет значения Давать для одного или нескольких требуемых параметров» – Timart

ответ

1

Попробуйте добавить параметры, подобные этому.

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

+1 от меня, вы делаете не нужно беспокоиться, если кто-нибудь его просмотрит, или отметьте его как ответ. Есть много ответов, которые вы можете дать так. – Aristos

Смежные вопросы