SqlCommand cmd = new SqlCommand(sqlstr, cn);
                SqlDataAdapter sqldata = new SqlDataAdapter();
                sqldata.SelectCommand = cmd;
               SqlCommandBuilder custCB = new SqlCommandBuilder(sqldata);//这句是不是可以不要的啊?
                DataSet ds = new DataSet();
                sqldata.Fill(ds);
                if (ds.Tables.Count>0)
                {   EptSayStr = ds.Tables[0].Rows[0]["EptTSay"].ToString();
                    sqldata.UpdateCommand = cmd;
ds.Tables[0].Rows[0]["ShowCount"] = int.Parse(ds.Tables[0].Rows[0]["ShowCount"].ToString()) + 1;
                    sqldata.Update(ds);
                     cn.Close();                }
我看了.没有错误.可是,就是更新不了

解决方案 »

  1.   

    sqldata 
    的Connection在那里???
      

  2.   

    SqlCommand cmd = new SqlCommand(sqlstr, cn); 
    connection在这里面。
    这种用法不会!~~
    不过可跟踪一下数据库,看执行了什么sql语句。
      

  3.   

      1.SqlCommandBuilder custCB = new SqlCommandBuilder(sqldata);//这可以不要的
    2.sqldata.UpdateCommand = cmd;这个不对
    这里的sqldata.UpdateCommand =new SqlCommand("update ****", cn); 
      

  4.   

    要么用SqlDataAdapter与SqlCommandBuilderSqlDataAdapter sqlAdapter=new SqlDataAdapter("查datatable时的查询语句","连接语句");
    SqlCommandBuilder builder=new SqlCommandBuilder(sqlAdapter);
    sqlAdapter.Update(datatable);
    要么用SqlConnection与SqlCommandSqlConnection sqlCn=new SqlConnection("连接语句");
    SqlCommand sqlCmd=new SqlCommand("更新语句",sqlCn);
    sqlCn.Open();
    sqlCmd.ExecuteNonQuery();
    sqlCn.Close();
      

  5.   

    SqlCommandBuilder custCB = new SqlCommandBuilder(sqldata);//这句是不是可以不要的啊? 
    这句一定要...
     
    你主要的问题是没有个table设置name
    SqlCommand cmd = new SqlCommand(sqlstr, cn); 
                    SqlDataAdapter sqldata = new SqlDataAdapter(); 
                    sqldata.SelectCommand = cmd; 
                   SqlCommandBuilder custCB = new SqlCommandBuilder(sqldata);//这句是不是可以不要的啊? 
                    DataSet ds = new DataSet(); 
                    sqldata.Fill(ds,"TABLE_NAME"); 
                    if (ds.Tables.Count>0) 
                    {   EptSayStr = ds.Tables[0].Rows[0]["EptTSay"].ToString(); 
                        sqldata.UpdateCommand = cmd; 
    ds.Tables[0].Rows[0]["ShowCount"] = int.Parse(ds.Tables[0].Rows[0]["ShowCount"].ToString()) + 1; 
                        sqldata.Update(ds,"TABLE_NAME"); 
                         cn.Close();                 } 
      

  6.   

    不好意思,刚才说错了... SqlCommand cmd = new SqlCommand(sqlstr, cn); 
                    SqlDataAdapter sqldata = new SqlDataAdapter(); 
                    sqldata.SelectCommand = cmd; 
                   
                    DataSet ds = new DataSet(); 
                    sqldata.Fill(ds); 
                    if (ds.Tables.Count>0) 
                    {   EptSayStr = ds.Tables[0].Rows[0]["EptTSay"].ToString(); 
                        sqldata.UpdateCommand = cmd; 
    ds.Tables[0].Rows[0]["ShowCount"] = int.Parse(ds.Tables[0].Rows[0]["ShowCount"].ToString()) + 1;SqlCommandBuilder custCB = new SqlCommandBuilder(sqldata);//移到这个位置  
                        
    sqldata.Update(ds); 
                         cn.Close();                 } 
      

  7.   

    连接数据库好象没打开
    cn.open();//加在fill()之前
      

  8.   

    SqlConnection conn=new SqlConnection("连接语句"); 
    cmd.connection=conn;
    加这样两句的看可以不。
      

  9.   

    SqlConnection conn=new SqlConnection("连接语句"); 
    cmd.connection=conn;
    加这样两句的看可以不。