DataSet ds;
OleDbDataAdapter adap;
private void button1_Click(object sender, EventArgs e)//加载数据
{
OleDbConnection conn=new OleDbConnection("provider=microsoft.jet.oledb.4.0;jet oledb:database password='txp2008*';data source=G:\\程序设计-C#\\XP.MDB");
adap = new OleDbDataAdapter("select name,gz from tb_student", conn);
ds=new DataSet();
adap.MissingSchemaAction=MissingSchemaAction.AddWithKey;
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
this.dataGridView1.Columns[2].DefaultCellStyle.Format = "¥#,000";
} private void button2_Click(object sender, EventArgs e)//更新数据
{
ds.Tables[0].PrimaryKey = new DataColumn[] { ds.Tables[0].Columns["name"] };
DataColumn[] cols;
cols = ds.Tables[0].PrimaryKey;
for (int i = 0; i < cols.Length; i++)
MessageBox.Show(cols[i].ColumnName);
OleDbCommandBuilder build = new OleDbCommandBuilder(adap);
adap.Update(ds.Tables[0]);
MessageBox.Show("修改成功!");
}
解决方案 »
- C# ArgumentOutOfRangeException 加载因子需要介于 0.1 和 1.0 之间。 参数名: loadFactor
- linq group by 问题
- 熟悉DevComponents.AdvTree.Cell的请进。
- 关于C#写数据库程序的问题,希望大家给点思路!
- 关于c#客户端系统的结构。
- 请教高手,在DataGridView中,保存数据时出现"表达式过于复杂"的问题如何解快?
- 请问我想在winform里打开excel 为什么总是弹出一个excel
- 生日提醒
- 在线!怎样实现类似CSDN论谈左边滚动条,和可以拖动TreeView的宽度呢??
- 【急求助】c# 生成 可以动态调用 的dll
- 请教如何不触发KEYPRESS事件
- mysql 查询时间段数据
但是我想在Datatable 中设置NAME 为主键,这样就不行,请各位高手多多指导
你把NAME换成真正的主键ID试试,如果更新成功了,则说明就是主键的问题。
我没用过OleDbCommandBuilder类,不知道他会不会判断表的真实主键名称。
不知为什么?
出现提示信息:对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。
{
SqlCommand sqlcmd = new SqlCommand();
sql.Open();
sqlcmd.Connection = sql;
sqlcmd.CommandText = sqlstr;
sqlcmd.ExecuteNonQuery();
sql.Close();
}