using System;
using System.Data ;
using System.Data.SqlClient ;namespace DataReaderExample
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class DataReaderExample
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
SqlConnection llSqlcnt = new SqlConnection (@"Data Source = (local) ; Integrated Security = SSPI ;" +"Initial Catalog = Northwind") ;
llSqlcnt.Open () ;
SqlDataAdapter thisSda = new SqlDataAdapter ("SELECT 产品ID ,产品名称 FROM 产品" ,llSqlcnt) ;
SqlCommandBuilder scbd = new SqlCommandBuilder (thisSda) ;
DataSet dset = new DataSet () ;
thisSda.Fill (dset,"产品") ;
Console.WriteLine ("fjskjflskjf{0}" , dset.Tables ["产品"].Rows.Count ) ;
DataRow drow = dset.Tables ["产品"].NewRow () ;
drow["产品ID"] ="250" ;
drow["产品名称"] = "我是谁啊!" ;
dset.Tables ["产品"].Rows.Add(drow) ;
Console.WriteLine ("fjskjflskjf{0}" , dset.Tables ["产品"].Rows.Count ) ;
thisSda.Update (dset ,"产品") ;  //
// TODO: 在此处添加代码以启动应用程序
//
}
}
}
为什么不能更新啊!
thisSda.Update (dset ,"产品") ; 不要就很正常为什么.update方法不能用啊!

解决方案 »

  1.   

    加上dset.AcceptChanges() ;试试
      

  2.   

    我遇到过这样的问题:
    解决1:按照网上某篇文张为表设主键。不行。
    解决2:按msdn有一篇关于这个问题的文章。好像是SqlCommandBuilder部分。可以解决。不过我看了几乎等于写SQL语句。不如直真接用解决3
    解决3:直接写sql update语句。
    注意:insert是可以用以上楼主所述的方法的,但中对update不行~~
      

  3.   

    up---------------------------------------------------------------------------------------------
    腰缠70元到月入近10万
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=453IT工程师 毕业4年我年薪涨到30万 
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=51126岁青年坐拥千万域名资产 从小玩家变成CEO 
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=515程序员的酸甜苦辣:告别Coding 
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=341从月薪3500到700万(一)
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=170网络草根月赚3000的十种方法
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=517如果我是女的 我肯定不会嫁给做网站的
    http://www.hunbei.com.cn/Article/ArticleShow.asp?ArticleID=512
      

  4.   

    dset.AcceptChanges() ;中要不要加参数啊!
    怎么还是不行啊!晕
    是不是用过SqlDataAdapter的实力.update(参数)后就用dset.AcceptChanges()
    还要有什么设置吗?
      

  5.   

    试下
    dset.Table["产品"].rows.add(drow);
    然后再update
      

  6.   

    dset.Tables ["产品"].Rows.Add(drow) ;
    我有这行啊!
      

  7.   

    我也是这样的问题 好长时间没有解决 请casualisme(闭观修炼中)老兄详细说一下 谢
      

  8.   

    1,查询的结果中没有主键
    2,查看一下SqlDataAdapter.UpdateCommand
      

  9.   

    数据库表中已经有主键了,怎样把主键设置进SqlDataAdapter thisSda = new SqlDataAdapter ("SELECT 产品ID ,产品名称 FROM 产品" ,llSqlcnt) ;中呢?从而使sqlDataAdapter.Updatacommand产生主键的条件 因为在这里Updatacommand是由SqlCommandBuilder产生的 
      

  10.   

    建议直接写Update语句,然后直接执行命令
      

  11.   

    请教一下上面的Updatacommand的条件怎样写 一定很复杂的