请先看下面的代码( DataSet1为一强类型DataSet. )
DataSet1 ds1 = new DataSet1();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @".....";
conn.Open();
SqlCommand comm = new SqlCommand();
comm.CommandType = CommandType.Text;
comm.CommandText = "select * from article where ariticle_id < 0";//这里!让选择的结果集为空是可行的! 这样可以提高效率。但是这个语句一定要写,还不能写为"",并且要把结果Fill到ds1中。
comm.Connection = conn;
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = comm;
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.Fill(ds1,ds1.Article.TableName);
DataSet1.ArticleRow drNew = ds1.Article.NewArticleRow();
drNew.Ariticle_ID = int.Parse(this.TextBox1.Text);
drNew.User_ID = int.Parse(this.TextBox2.Text);
drNew.Title = this.TextBox3.Text;
drNew.Content = this.TextBox4.Text;
drNew.AddTime = DateTime.Now;
drNew.CheckTime = DateTime.Now;
drNew.ViewCount = int.Parse(this.TextBox5.Text);
ds1.Article.AddArticleRow(drNew);
adapter.Update(ds1,ds1.Article.TableName);//插入或更新.
问题是:
1> 为什么还需要先select一个结果集,然后邦定到ds1,然后操作ds1,更新ds1?
“先select一个结果集”:我们可以故意让结果为0条记录,既然这样,还需要这个作什么用?Ado.Net这样的设计,让人觉得不舒服!
2> 有其他通过DataSet刷新数据的“看起来比较正常的”方法吗?