请问,一个sqlconnection可以被多个sqladapter或sqlcommand对象共享吗?如果用sqlcomamnd执行查询语句select * form table where x='b'b不存在的话, sqlcommand.ExecuteNonQuery()是返回值呢,还是报异常?如果是返回值,那它返回的又是多少呢?sqlcommand.ExecuteNonQuery()执行之后是不是一定要用一个集合来存结果,比如说dataset,datareader

解决方案 »

  1.   

    上面最后一句话改为:sqlcommand.ExecuteNonQuery()执行select之后是不是一定要用一个集合来存结果,比如说dataset,datareader
      

  2.   

    sqlconnection可以被多个sqladapter或sqlcommand对象共享吗?答:可以,建立一次数据库连接,可以执行多个命令sqlcommand.ExecuteNonQuery()是返回值呢
    答:返回影响的行数,int
      

  3.   

    sqlcommand.ExecuteNonQuery() 执行select之后,总是返回-1的sqlcommand.ExecuteNonQuery()返回的是受影响的行数,只对update,delete,insert 有效
    如果执行select的话,用sqladapter执行吧,然后fill在dataset里面,就可以读取返回表的所有信息了,当然包括表的行数,各个列名等等。
      

  4.   

    我现在做一个注册用户名的判断,用户名不存在的情况下不知道ExecuteNonQuery()该返回一个什么值。是异常呢,还是null,或是-1.
    知道之后我才好选择是用TRY CATCH来做还是if来做
      

  5.   

    select 最好把数据集取出来判断
      

  6.   

    用sqlcomamnd执行查询语句select * form table where x='b'b不存在的话,ExecuteNonQuery()返回什么值,有谁知道吗?
      

  7.   

    SqlConnection con = DB.WebConnection();//通过类调用连接上数据库con.Open();//打开连接SqlCommand com = new SqlCommand();
    com.CommandText = "Select * from Users where UserName='" + tbUserName.Text + "'";
    com.CommandType = CommandType.Text;
    com.Connection = con;
    SqlDataReader reader = com.ExecuteReader();
    if (reader.Read())
    {
      //已经存在了
    }
    else
    {
        //可以注册
    }
      

  8.   


    都说过了,你用ExecuteNonQuery()去执行select语句,都只是返回-1,不管你查不查得到数据方法上面给了,自己试试看吧
      

  9.   

    UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1