private void btnUpdate_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ALNETTE\Desktop\New folder\AccessDatabase.accdb");
string Db = "Select * from StudentInfo";
OleDbCommand cmd = new OleDbCommand(Db, con);
try
{
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Update");
con.Close();
}
catch (Exception)
{
MessageBox.Show("error");
}
}
我有这个代码用于我的更新但是当我更新它时,它只更新datagridview而不是我的数据库。我该怎么做才能在数据库中更新它?
答案 0 :(得分:1)
而不是使用StudentInfo中的Select *,您需要使用更新查询(" UPDATE TABLENAME SET COLUMN2 = Values1 WHERE COLUMN1 = Values")
例如:
private void btnUpdate_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ALNETTE\Desktop\New folder\AccessDatabase.accdb");
string Db = "UPDATE StudentInfo SET StudentName='SomeoneName' WHERE StudentID=1";
OleDbCommand cmd = new OleDbCommand(Db, con);
try
{
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Update");
con.Close();
}
catch (Exception ex)
{
MessageBox.Show("error"+ex.Message);
}
}
答案 1 :(得分:0)
您有一个SELECT
sql语句,您需要一个INSERT或UPDATE语句来向数据库添加或更新数据。
例如:
INSERT INTO StudentInfo VALUES ('John Doe', '555-1212');
或
UPDATE StudentInfo SET
Name = 'Joe Bloggs', PhoneNumber = '555,1234'
WHERE ID = 1
答案 2 :(得分:0)
请改用查询。你正在选择更新。
更新语法是:
Update tablname
set col1 = values, col2 = values...
WHERE some_column = some_value;
答案 3 :(得分:0)
try
{
cBuild = new OleDbCommandBuilder(adapter);
adapter.Update(dt);
}
catch (Exception)
{
MessageBox.Show("DO NOT DUPLICATE STUDENTID");
}