小妹今日编数据库程序,遇到如下问题,我想往表内添加数据,但是运行后,不给我报错也添加不成功,代码入下.忘高手指点         string strconn = ConfigurationSettings.AppSettings["ConnectionString"];
        SqlConnection conn = new SqlConnection(strconn);
        conn.Open();
        string strsql = "inset into client (client_name,client_pwd,client_email,client_tell,client_company,client_vocation) values ('" + client_name.Text  + "','"+ client_pwd.Text   +"','"+ client_email.Text   +"','"+ client_tell.Text  +"','"+ client_company.Text   +"','"+ client_vocation.Text   +"')";
        SqlCommand cm = new SqlCommand(strsql, conn);
        //cm.CommandText = query;
        //cm.Connection = conn;
        cm.CommandType = CommandType.StoredProcedure;
        cm.Parameters.Add(new SqlParameter("@client_name", SqlDbType.Char, 10));
        cm.Parameters.Add(new SqlParameter("@client_pwd", SqlDbType.Char, 10));
        cm.Parameters.Add(new SqlParameter("@client_email", SqlDbType.Char, 10));
        cm.Parameters.Add(new SqlParameter("@client_tell", SqlDbType.VarChar, 50));
        cm.Parameters.Add(new SqlParameter("@client_company", SqlDbType.Int, 4));
        cm.Parameters.Add(new SqlParameter("@client_vocation", SqlDbType.VarChar, 20));
        cm.Parameters["@client_name"].Value = client_name.Text;
        cm.Parameters["@client_pwd"].Value = client_pwd.Text;
        cm.Parameters["@client_email"].Value = client_email.Text;
        cm.Parameters["@client_tell"].Value = client_tell.Text;
        cm.Parameters["@client_company"].Value = client_company.Text;
        cm.Parameters["@client_vocation"].Value = client_vocation.Text;
        try
            {
                cm.ExecuteNonQuery();
                Response.Redirect("default.aspx");            }
            catch (SqlException)
            {
                Lbl_note.Text = "添加失败";
                Lbl_note.Style["color"] = "red";
            }
            cm.Dispose();
            conn.Close();     }

解决方案 »

  1.   

     string strsql = "inset into client (client_name,client_pwd,client_email,client_tell,client_company,client_vocation) values ('" + client_name.Text  + "','"+ client_pwd.Text  +"','"+ client_email.Text  +"','"+ client_tell.Text  +"','"+ client_company.Text  +"','"+ client_vocation.Text  +"')"; 
    刚复制到数据库里就发现inset -》insert
      

  2.   

     SqlCommand cm = new SqlCommand(这里应该是存储过程名, conn); 
    你写成sql语句了!!!
      

  3.   

    我单步调试了,执行到
            try 
                { 
                    cm.ExecuteNonQuery(); 
    就跳出执行 
                catch (SqlException) 
                { 
                    Lbl_note.Text = "添加失败"; 
                    Lbl_note.Style["color"] = "red"; 
                } 
    请指教
      

  4.   

    你的sql语句里面没有参数,所以
            //cm.CommandText = query;
            //cm.Connection = conn;
            cm.CommandType = CommandType.StoredProcedure;
            cm.Parameters.Add(new SqlParameter("@client_name", SqlDbType.Char, 10));
            cm.Parameters.Add(new SqlParameter("@client_pwd", SqlDbType.Char, 10));
            cm.Parameters.Add(new SqlParameter("@client_email", SqlDbType.Char, 10));
            cm.Parameters.Add(new SqlParameter("@client_tell", SqlDbType.VarChar, 50));
            cm.Parameters.Add(new SqlParameter("@client_company", SqlDbType.Int, 4));
            cm.Parameters.Add(new SqlParameter("@client_vocation", SqlDbType.VarChar, 20));
            cm.Parameters["@client_name"].Value = client_name.Text;
            cm.Parameters["@client_pwd"].Value = client_pwd.Text;
            cm.Parameters["@client_email"].Value = client_email.Text;
            cm.Parameters["@client_tell"].Value = client_tell.Text;
            cm.Parameters["@client_company"].Value = client_company.Text;
            cm.Parameters["@client_vocation"].Value = client_vocation.Text; 
    这块都是多余的
      

  5.   

    你是要执行INSERT语句还是存储过程,存储过程名是什么啊?
      

  6.   

    代码好象是没有问题.
    看看你的单词写错了
    "inset"  "Insert"
    给分了 
      

  7.   

    单词我改过来了,还是不行啊
    楼上的大哥,我想要执行insert语句
      

  8.   


    你sql的问题,我也没看出来有什么错误,你看一下数据吧:
    1.看看那些textbox的值有没有超出表中字段定义长度
    2.client_company是int型的话,把+"','"+ client_company.Text  +"','"改成+"',"+ client_company.Text  +",'"
    先做1再做2试试
      

  9.   

    cm.CommandType = CommandType.StoredProcedure; 
    表示执行存储过程,按你的情况应该是CommandType.Text
      

  10.   

    建议你将一般的SQL语句写成
    string sql="INSERT INTO TABLE_NAME(Field1,Field2,Field3...)"+
               "VALUES('{0}','{1}','{2}'...)";
    然后用sql=string.Format(sql,param1,param2,param3...);
    当然要调用存储过程时就不一样。然后在做try...catch时也最好是:
    try
    {
        cmd.ExecuteNonQuery();
    }
    catch(Exception ex)
    {
        //MessgeBox.Show(ex.Message);
        或lblInfo.tex=ex.Message;
    }
    这样有错的系统会正确提示
    希望你能早点解决问题。
      

  11.   

    create proceedure proc_insert
    (@client_name char(10),
    @client_pwd char(10),
    @client_email char(10),
    @client_tell varchar(50),
    @client_company int,
    @client_vocation varchar(20))
    ASinsert cliet(client_name,client_pwd,client_email,client_tell,client_company,client_vocation)
    values(@client_name,@client_pwd,@client_email,@client_tell,@client_company,@client_vocation)gostring strconn = ConfigurationSettings.AppSettings["ConnectionString"]; 
    SqlConnection conn = new SqlConnection(strconn); 
    conn.Open();
    SqlCommand cm = new SqlCommand("proc_insert", conn);
    cm.CommandType = CommandType.StoredProcedure; 
    cm.Parameters.Add(new SqlParameter("@client_name", SqlDbType.Char, 10)); 
    cm.Parameters.Add(new SqlParameter("@client_pwd", SqlDbType.Char, 10)); 
    cm.Parameters.Add(new SqlParameter("@client_email", SqlDbType.Char, 10)); 
    cm.Parameters.Add(new SqlParameter("@client_tell", SqlDbType.VarChar, 50)); 
    cm.Parameters.Add(new SqlParameter("@client_company", SqlDbType.Int, 4)); 
    cm.Parameters.Add(new SqlParameter("@client_vocation", SqlDbType.VarChar, 20)); 
    cm.Parameters["@client_name"].Value = client_name.Text; 
    cm.Parameters["@client_pwd"].Value = client_pwd.Text; 
    cm.Parameters["@client_email"].Value = client_email.Text; 
    cm.Parameters["@client_tell"].Value = client_tell.Text; 
    cm.Parameters["@client_company"].Value = client_company.Text; 
    cm.Parameters["@client_vocation"].Value = client_vocation.Text; 
    try 
       { 
        cm.ExecuteNonQuery(); 
        Response.Redirect("default.aspx"); 
        } 
    catch 
           { 
            Lbl_note.Text = "添加失败"; 
            Lbl_note.Style["color"] = "red"; 
            }
    finally
          {
           cm.Dispose(); 
           conn.Close();
          }
      

  12.   

            string strconn = ConfigurationSettings.AppSettings["ConnectionString"]; 
            SqlConnection conn = new SqlConnection(strconn); 
            conn.Open(); 
            //string strsql = "inset into client  
            string strsql = "insert into client
     (client_name,client_pwd,client_email,client_tell,client_company,client_vocation) values ('" + client_name.Text  + "','"+ client_pwd.Text  +"','"+ client_email.Text  +"','"+ client_tell.Text  +"','"+ client_company.Text  +"','"+ client_vocation.Text  +"')"; 
            SqlCommand cm = new SqlCommand(strsql, conn);  
            //cm.CommandType = CommandType.StoredProcedure; 
            cm.CommandType = CommandType.text; 
            /*
            cm.Parameters.Add(new SqlParameter("@client_name", SqlDbType.Char, 10)); 
            cm.Parameters.Add(new SqlParameter("@client_pwd", SqlDbType.Char, 10)); 
            cm.Parameters.Add(new SqlParameter("@client_email", SqlDbType.Char, 10)); 
            cm.Parameters.Add(new SqlParameter("@client_tell", SqlDbType.VarChar, 50)); 
            cm.Parameters.Add(new SqlParameter("@client_company", SqlDbType.Int, 4)); 
            cm.Parameters.Add(new SqlParameter("@client_vocation", SqlDbType.VarChar, 20)); 
            cm.Parameters["@client_name"].Value = client_name.Text; 
            cm.Parameters["@client_pwd"].Value = client_pwd.Text; 
            cm.Parameters["@client_email"].Value = client_email.Text; 
            cm.Parameters["@client_tell"].Value = client_tell.Text; 
            cm.Parameters["@client_company"].Value = client_company.Text; 
            cm.Parameters["@client_vocation"].Value = client_vocation.Text; 
            */

            try 
                { 
                    cm.ExecuteNonQuery(); 
                    Response.Redirect("default.aspx");             } 
                catch (SqlException) 
                { 
                    Lbl_note.Text = "添加失败"; 
                    Lbl_note.Style["color"] = "red"; 
                } 
           finally
            {
                cm.connection = null;
                cm = null;
                conn.Close(); 
            }
        }
    以上是我给你该的,红色的部分是错的,你在调试一下吧
      

  13.   

    sorry,17楼procedure写错了
    create procedure proc_insert
    (@client_name char(10),
    @client_pwd char(10),
    @client_email char(10),
    @client_tell varchar(50),
    @client_company int,
    @client_vocation varchar(20))
    ASinsert cliet(client_name,client_pwd,client_email,client_tell,client_company,client_vocation)
    values(@client_name,@client_pwd,@client_email,@client_tell,@client_company,@client_vocation)go
      

  14.   

    string strsql = "inset into client (client_name,client_pwd,client_email,client_tell,client_company,client_vocation) values ('" + client_name.Text  + "','"+ client_pwd.Text  +"','"+ client_email.Text  +"','"+ client_tell.Text  +"','"+ client_company.Text  +"','"+ client_vocation.Text  +"')"; 
    刚复制到数据库里就发现inset -》insert