首页 新闻 会员 周边

sql数据库表,如何覆盖以前的数据

0
[已解决问题] 解决于 2012-05-16 15:35
想将新的数据导入覆盖掉原来的数据,从第一行开始,所有列的数据都是新的,怎么写sql语句?求指点
我是用循环写的将数组的数据写入数据库表,能不能先在循环外面写删除语句,然后再在循环里面给表中写入新数据?否则的话就写入一遍删除一遍了,到了最后就剩下最后一行
代码如下,现在只是在原来表的数据后面插入数据,我想从表的第一行开始覆盖原来的 数据,怎么改?
for (int b = 0; b < dt.Rows.Count; b++)
{
       string value1;
       value1 = bp1[b, 0];
       string insert = "INSERT INTO a(id) values('" + value1 + "') SELECT * FROM a where id = '" + id + "'";
       SqlConnection conn = new SqlConnection(cs);
       conn.Open();
       SqlDataAdapter adapter = new SqlDataAdapter(insert, conn);
       DataSet ds = new DataSet();
       adapter.Fill(ds, "a");
       SqlCommand cmd = new SqlCommand("select * from a", conn);
       cmd.CommandType = CommandType.Text;
        adapter.SelectCommand = cmd;
        DataSet ds1 = new DataSet();
        adapter.Fill(ds1, "a");
        this.dataGridView1.DataSource = ds1;
        this.dataGridView1.DataMember = "a";
        conn.Close();
}
c#
巴索罗缪库玛的主页 巴索罗缪库玛 | 初学一级 | 园豆:48
提问于:2012-05-16 13:49
< >
分享
最佳答案
0

直接把表的内容清空,重新插入不是更快

奖励园豆:5
wvsy | 菜鸟二级 |园豆:297 | 2012-05-16 14:31

那我该怎么清空啊?思路我想过但是语句不知道怎么写

巴索罗缪库玛 | 园豆:48 (初学一级) | 2012-05-16 14:37

@巴索罗缪库玛: 在执行循环前把对应的表清空就行

wvsy | 园豆:297 (菜鸟二级) | 2012-05-16 15:04

@wvsy: ……语句呢?用哪个语句?delete?但是怎么执行啊?

巴索罗缪库玛 | 园豆:48 (初学一级) | 2012-05-16 15:20

@巴索罗缪库玛: 就是用string delstr="delete from a ";

 SqlConnection conn = new SqlConnection(cs);

  conn.Open();

SqlCommand cmd=new SqlCommand(delstr,conn);

 cmd.ExecuteNonQuery();

conn.Close();

wvsy | 园豆:297 (菜鸟二级) | 2012-05-16 15:24

@wvsy: 解决啦,谢谢你!

巴索罗缪库玛 | 园豆:48 (初学一级) | 2012-05-16 15:35

@巴索罗缪库玛: 呵呵

wvsy | 园豆:297 (菜鸟二级) | 2012-05-16 19:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册