为题就是上面的,谁能帮帮我!!!急着要用啦!!!!

解决方案 »

  1.   

    http://hi.baidu.com/%D6%DC%CD%EA%C1%FA/blog/item/2ed079862126d1c59123d982.htmlhttp://blog.csdn.net/wind19850922/archive/2009/12/25/5075916.aspx
      

  2.   

    public static DataTable GetFillData(string cmdTxt, params SqlParameter[] pars)
          {
              DataSet ds = new DataSet();
              using (cmd = new SqlCommand(cmdTxt, Connectionstrings))
              {
                  if (pars != null)
                      cmd.Parameters.AddRange(pars);
                  using (da = new SqlDataAdapter(cmd))
                  {
                      da.Fill(ds);
                 if (ds.Tables.Count == 1 && ds.Tables[0].Rows.Count > 0)//ds中的表没有数据
                      { return ds.Tables[0]; }
                      else return null;
                  }
              }
          }
    执行到da.Fill(ds)时,数据已经插进去了,可是在执行if语句时,报告说ds.Tables.Count为0,这是怎么回事呀???
      

  3.   

    cmdTxt是什么  sql语句放数据库中查询的到吗?
      

  4.   

    cmdTxt是传进来的sql语句。
    如下:
      string sql = "insert into Users(userName,passWord,Email,secretQuestion,secretAnswer)    
    values(@userName,@passWord,@Email,@secretQuestion,@secretAnswer)";
                SqlParameter[] sp = new SqlParameter[]
    {
    new SqlParameter("userName",model.userName),
    new SqlParameter("password",model.passWord),
    new SqlParameter("Email",model.Email),
    new SqlParameter("secretQuestion",model.secretQuestion),
    new SqlParameter("secretAnswer",model.secretAnswer),
                    
    };
                DataTable dt = DBHelper.GetFillData(sql, sp); 
      

  5.   

    insert 语句没有可能有表返回string sql = "insert into Users(userName,passWord,Email,secretQuestion,secretAnswer)   
    values(@userName,@passWord,@Email,@secretQuestion,@secretAnswer);select * from Users";这样才有返回的表
      

  6.   

    这是个insert语句  为何要返回表?select才有表返回da.update()
      

  7.   

    把ds.Tables.Count 改为ds.Tables[0].Count 试试看吧
      

  8.   

    cmdTxt
    这个语句拿到查询分析器中跑 看有数据没有
      

  9.   

    谢谢大家的帮助,已经解决了,是我自己糊涂了,做插入就应该用ExecuteNonQuery()。。