SqlCommand Sc = new SqlCommand();
SqlDataReader query;
string mysql1 = "select max(userid) as val from smt_companyuser";
Sc.CommandText = mysql1;
query = Sc.ExecuteReader();
query.Read();当程序执行到query = Sc.ExecuteReader(); 就不执行下面任何语句了,,,也不报任何错误.... 
各位大哥指教指教

解决方案 »

  1.   

    try..//建立数据库连接
    SqlConnection con=new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
    SqlCommand Sc = new SqlCommand();
    SqlDataReader query;
    string mysql1 = "select max(userid) as val from smt_companyuser";
    Sc.CommandText = mysql1;
    //指定Command的Connection
    Sc.Connection = con;
    //打开数据库连接
    con.Open();
    query = Sc.ExecuteReader();
    query.Read();
    //关闭数据库连接
    con.Close();
      

  2.   

    SqlDataReader query=new SqlDataReader();
      

  3.   

    刚发错了,应该是
    SqlConnection conn=new SqlConnection("server=.;database=;uid=sa;pwd=");
    SqlCommand Sc = new SqlCommand(conn);
      

  4.   

    SqlCommand Sc = new SqlCommand(mysql1,conn);
      

  5.   

    TO:SqlConnection conn=new SqlConnection("server=.;database=;uid=sa;pwd=");你的数据库名称是故意没写,还是忘了写了??
      

  6.   

    SqlConnection ConnectMain = new SqlConnection("Data Source=192.168.1.185;UID=sa;PWD=sa;initial catalog=albb");
                ConnectMain.Open();
                SqlCommand Sc = new SqlCommand();
                SqlDataReader query;
                string mysql1 = "select max(userid) as val from smt_companyuser";
                Sc.CommandText = mysql1;
                Sc.Connection = ConnectMain;
                query = Sc.ExecuteReader();
                query.Read();
                int us = int.Parse(query["val"].ToString());
                mysql1 = "insert into smt_companyuser(username,userid,adddate,hitnum) values('" + this.userid + "'," + us + ",'" + DateTime.Now + "',1)";
                Sc.CommandText = mysql1;
                Sc.Connection = ConnectMain;
                Sc.ExecuteNonQuery();
                Sc.Dispose();
                ConnectMain.Close();全部代码是这样的.....
      

  7.   

    可当执行到             Sc.ExecuteNonQuery();是就退出了...
    没有任何错误...
      

  8.   

    自动退出??不会吧...这样试下看>>try
    {
    SqlConnection ConnectMain = new SqlConnection("Data Source=192.168.1.185;UID=sa;PWD=sa;initial catalog=albb");
                ConnectMain.Open();
                SqlCommand Sc = new SqlCommand();
                SqlDataReader query;
                string mysql1 = "select max(userid) as val from smt_companyuser";
                Sc.CommandText = mysql1;
                Sc.Connection = ConnectMain;
                query = Sc.ExecuteReader();
                query.Read();
                int us = int.Parse(query["val"].ToString());
                mysql1 = "insert into smt_companyuser(username,userid,adddate,hitnum) values('" + this.userid + "'," + us + ",'" + DateTime.Now + "',1)";
                Sc.CommandText = mysql1;
                Sc.Connection = ConnectMain;
                Sc.ExecuteNonQuery();
                Sc.Dispose();
                ConnectMain.Close();
    }
    catch(Exception ex)
    {
        //WinForm的话用MessageBox.Show(ex.Message);
        //控制台程序用Console.WriteLine(ex.Message);
    }
      

  9.   

    关闭一下reader试试看......
    query = Sc.ExecuteReader();
                query.Read();
                int us = int.Parse(query["val"].ToString());
    //关闭datareader
    query.Close();
      

  10.   

    另外你插入的表的几个字段都是什么类型的...比如你的userid是什么类型的?int型的话,插入时两边就不要加单引号了啊..
      

  11.   

    if(ConnectMain.State != ConnectionState.Closed)
    {
         ConnectMain.Close();
    }
    ConnectMain.Open() ;打开连接前执行以上代码看看
      

  12.   

    问题找到了,,,是因为this.userid空值引发的异常...
    谢谢各位了...