问题描述
在表中插入数据
表结构如下
c_userid int(10) unsigned NOT NULL ,\
c_name varchar(15) NOT NULL,\
c_department varchar(45) DEFAULT NULL,\
c_sex int(1) unsigned DEFAULT NULL,\
c_mobile int(20) unsigned NOT NULL,\
c_mail varchar(45) NOT NULL, \
c_pwd  varchar(6) NOT NULL, \
PRIMARY KEY (c_userid) \
一共7列
现在界面上有7个text,现在遇到的麻烦是,不知道怎么转换数据类型进行赋值
我的语句如下
 string strSQl = @"
insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail)
values
'" + tbox_ID.Text + "','" + tbox_Name.Text + "','" + tbox_Pwd.Text + @"'
'" +tbox_Part.Text+"','" + tbox_Sex.Text + "','"+tbox_Tel.Text+"','"+tbox_Mail.Text+@"'
)
 ";   
也就是全部用成了text类型的,在SQL语句中,进行数据类型的转换,我不会,请指教
具体SQL语句是什么呢?帮忙写下
谢谢大家

解决方案 »

  1.   

    casT(tbox_ID.Text as CHAR)用CAST进行转换CAST(expr AS type), CONVERT(expr,type), CONVERT(expr USING transcoding_name) The CAST() and CONVERT() functions take a value of one type and produce a value of another type. The type can be one of the following values: BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL SIGNED [INTEGER] TIME 
      

  2.   

    string strSQl = @" 
    insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail) 
    values 
    (''" + tbox_ID.Text + "'',''" + tbox_Name.Text + "'',''" + tbox_Pwd.Text + @"'' 
    '" +tbox_Part.Text+"'',''" + tbox_Sex.Text + "'',''"+tbox_Tel.Text+"'',''"+tbox_Mail.Text+@"'' 

    ";  
      

  3.   

    谢谢LS,主题的SQL代码应该怎么写呢?能帮忙写下吗?
    不好意思,帮帮忙啊
      

  4.   

    应该只要输入的值不是不符合规定的,直接插入没问题。不符合规定指比如int类型字段插入字母之类的。
      

  5.   

    看了下你的表字段的数据类型,insert时,可以在数据库端进行自动类型转换的
    所以,主要注意在values那里引用'符号的问题即可
      

  6.   

    还有,你上面values 的后面少了个括号(
      

  7.   

    对应是数字型的,不用‘,是字符型的,加单引号
    string strSQl = @" 
    insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail) 
    values (" + tbox_ID.Text + ",'" + tbox_Name.Text + "','" + tbox_Pwd.Text + "','" +
    tbox_Part.Text+"'," + tbox_Sex.Text + ","+tbox_Tel.Text+",'"+tbox_Mail.Text+@"' 

    "; 
      

  8.   

    string strSQl = "
    insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail)
    values
    (" + tbox_ID.Text + ",'" + tbox_Name.Text + "','" + tbox_Pwd.Text + "','" +tbox_Part.Text+"'," + tbox_Sex.Text + ",'"+tbox_Tel.Text+"','"+tbox_Mail.Text+"')";  
    @什么作用?
      

  9.   

    string strSQl = "insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail) 
    values (" + tbox_ID.Text + ",'" + tbox_Name.Text + "','" + tbox_Pwd.Text + "','" + 
    tbox_Part.Text+"'," + tbox_Sex.Text + ","+tbox_Tel.Text+",'"+tbox_Mail.Text+"')";
      

  10.   

    估计你的@是强制加上去的吧?
    改了下你试下看看:string strSQl = " 
    insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail) 
    values 
    (''" + tbox_ID.Text + "'',''" + tbox_Name.Text + "'',''" + tbox_Pwd.Text + "'' 
    ,''" +tbox_Part.Text+"'',''" + tbox_Sex.Text + "'',''"+tbox_Tel.Text+"'',''"+tbox_Mail.Text+"'' 
    )";  
      

  11.   


    string strSQl = @" 
    insert into t_user (c_userid,c_name,c_pwd,c_department,c_sex,c_mobile,c_mail) 
    values ({0},'{1}','{2}',{3},{4},'{5}','{6}') "; strSQL = string.Format(strSQL,tbox_ID.Text, tbox_Name.Text, tbox_Pwd.Text, tbox_Part.Text, tbox_Sex.Text, tbox_Tel.Text, tbox_Mail.Text);