我的思路是现将需要清空的表从数据库内选择出来,然后填充到dataset中,接着将dataset中数据清空,最后将清空后的的dataset更新到数据库 以达到清空数据库内某个数据表的目的,但是现在的问题是 程序运行都没问题 就是数据没清空(数据库内相应数据表的信息没改变)。我不知道是哪个环节出问题了,各位高手帮我看看代码呢,谢谢! myDataSet.Clear(); } } |
|
10分 |
如果未指定 INSERT、UPDATE 或 DELETE 语句,Update 方法会生成异常。 但是,如果设置 .NET Framework 数据提供程序的 SelectCommand 属性,则可以创建 SqlCommandBuilder 或 OleDbCommandBuilder 对象来为单个表更新自动生成 SQL 语句。 然后,CommandBuilder 将生成任何其他未设置的 SQL 语句。 此生成逻辑要求 DataSet 中存在键列信息。 有关更多信息,请参见使用 CommandBuilder 生成命令。
|
10分 |
这样是不能删除数据库表中的数据的,想清除表中数据执行sql 的删除语句
|
**//*** myDataSet.Tables[“Table_Income”].Clear(); } } 嗯 我试试 |
|
10分 |
if (MessageBox.Show("您确定清空所有预算数据信息?", "确认清空", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { myDataSet.Tables["Table_Income"].Clear(); if (myDataSet.Tables["Table_Income"] == null) { SqlCommandBuilder cmd = new SqlCommandBuilder(myDataAdapter); myDataAdapter.Update(myDataSet, "Table_Income"); string sql="delete Table_Income"; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; cmd.ExecuteNonQuery() MessageBox.Show("数据清空已成功!", "提示"); } } |
还是不行啊 |
|
10分 |
断点看看哪里出错??? |
10分 |
用SqlCommand,不是一条sql语句就搞定删除了吗
using(SqlCommand cmd = new SqlCommad("delete from tablename where col1=" + para1, con)) { con.open(); cmd.ExecuteNonQuery(); con.Close(); } |
truncate table 表名
|
|
谢谢楼上各位指点,我自己改好了,代码如下:
string connectString = “Data Source=.;Initial Catalog=FinSystem;User ID=sa;pwd=1992106713”; SqlConnection sqlCnt = new SqlConnection(connectString); sqlCnt.Open(); DataSet myDataSet = new DataSet();//创建dataset对象 if (this.comboBox1.Text==”收入数据集”) { SqlCommand mySqlCommand = new SqlCommand(); |