varchar 只能存数值????

qingyun27sc 2009-11-21 07:41:43
sqlcon.ConnectionString = "server=.;database=test_2;uid=sa;pwd=yun900125";
sqlcon.Open();
sqlcmd.Connection = sqlcon;
sqlcmd.CommandText = "insert into table_ID (ID,pwd) values ("+this.txtIDLogin.Text.ToString()+","+this.txtPwdLogin.Text.ToString()+") "; sqlcmd.ExecuteNonQuery();
sqlcmd.CommandText = "insert into table_sbujects(ID,class,fullname,number) values(" + this.txtIDLogin.Text.ToString() + "," + this.txtClassLogin.Text.ToString() + "," + this.txtNameLogin.Text.ToString() + "," + this.txtNumberLogin.Text.ToString() + ")"; sqlcmd.ExecuteNonQuery();
sqlcon.Close();


上面红色部分里的Text,如果写的是数值,调试,没问题。但是如果输入字母,就会报错。

难道varchar只能存数值??? 不是应该是数字、字母、汉字都能存么??
...全文
115 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingyun27sc 2009-11-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lzp4881 的回复:]
字符型的前后要加'

sqlcmd.CommandText = "insert into table_ID (ID,pwd) values ('"+this.txtIDLogin.Text.ToString()+"','"+this.txtPwdLogin.Text.ToString()+"')"; 
[/Quote]

嗯 是这个问题 感谢大家帮忙 O(∩_∩)O~
qingyun27sc 2009-11-21
  • 打赏
  • 举报
回复
谢谢大家哈 我试试去!!
icelovey 2009-11-21
  • 打赏
  • 举报
回复

估计你的情况跟第三个注释掉的语句的情况一样
declare @TB table([pwd] varchar(3))

insert @TB select 22
insert @TB select '22'
--insert @TB select aa
insert @TB select 'aa'
lzp4881 2009-11-21
  • 打赏
  • 举报
回复
字符型的前后要加'

sqlcmd.CommandText = "insert into table_ID (ID,pwd) values ('"+this.txtIDLogin.Text.ToString()+"','"+this.txtPwdLogin.Text.ToString()+"')";
wc72519 2009-11-21
  • 打赏
  • 举报
回复
EN~
xh412192479 2009-11-21
  • 打赏
  • 举报
回复
不只能存数值哈,varchar是字符串型

而且是可变长度的
icelovey 2009-11-21
  • 打赏
  • 举报
回复
我估计你是字符2边没加这个符号 ' 啦
icelovey 2009-11-21
  • 打赏
  • 举报
回复
不可能, 不仅能存字母, 还能存汉字呢
你把生成的SQL语句列出来看看, 肯定代码有问题~~

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧