| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 575 人关注过本帖
标题:[求助]SQL为什么只能保存第一个字符?
只看楼主 加入收藏
delyex
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-31
收藏
 问题点数:0 回复次数:3 
[求助]SQL为什么只能保存第一个字符?

麻烦大侠帮个忙
我用的是VS.net 03和sql server2000,用存储过程保存数据是为什么只能保存textbox里面的第一个字符?
比如像下图填好表单,提交后

图片附件: 游客没有浏览图片的权限,请 登录注册

查看数据库中对应列只保存每一格textbox里的第一个字符
图片附件: 游客没有浏览图片的权限,请 登录注册


这个是怎么回事?

存储过程:
CREATE procedure useradd
@UID varchar,
@UPassword varchar,
@UQuestion nvarchar,
@UAnswer nvarchar,
@USex bit,
@UCityID int,
@Email varchar
AS
insert into Users(UID, UPassword, UQuestion, UAnswer, UPower, USex, UCityID, Email)values
(@UID,
@UPassword,
@UQuestion,
@UAnswer,
2,
@USex,
@UCityID,
@Email)

调用:
cm.Parameters.Add("@UID", SqlDbType.VarChar);
cm.Parameters.Add("@UPassword", SqlDbType.VarChar);
cm.Parameters.Add("@UQuestion", SqlDbType.VarChar);
cm.Parameters.Add("@UAnswer", SqlDbType.VarChar);
cm.Parameters.Add("@USex", SqlDbType.Bit);
cm.Parameters.Add("@UCityID", SqlDbType.Int);
cm.Parameters.Add("@Email", SqlDbType.VarChar);

cm.Parameters["@UID"].Value = tbx_uid.Text;
cm.Parameters["@UPassword"].Value = tbx_password.Text;
cm.Parameters["@UQuestion"].Value = tbx_uquestion.Text;
cm.Parameters["@UAnswer"].Value = tbx_uanswer.Text;
if(rtn_male.Checked)
cm.Parameters["@USex"].Value = 1;
else
cm.Parameters["@USex"].Value = 0;
cm.Parameters["@UCityID"].Value = ddl_ucityid.SelectedItem.Value;
cm.Parameters["@Email"].Value = tbx_uemail.Text;
cm.ExecuteNonQuery();

[此贴子已经被作者于2006-7-31 0:40:05编辑过]

搜索更多相关主题的帖子: SQL 字符 保存 
2006-07-31 00:31
boxou
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2006-4-28
收藏
得分:0 
把 cm.Parameters.Add("@UID", SqlDbType.VarChar);
cm.Parameters.Add("@UPassword", SqlDbType.VarChar);
cm.Parameters.Add("@UQuestion", SqlDbType.VarChar);
cm.Parameters.Add("@UAnswer", SqlDbType.VarChar);
cm.Parameters.Add("@USex", SqlDbType.Bit);
cm.Parameters.Add("@UCityID", SqlDbType.Int);
cm.Parameters.Add("@Email", SqlDbType.VarChar);

改成: cm.Parameters.Add("@UID", SqlDbType.VarChar,20);
cm.Parameters.Add("@UPassword", SqlDbType.VarChar,20);
cm.Parameters.Add("@UQuestion", SqlDbType.VarChar,20);
cm.Parameters.Add("@UAnswer", SqlDbType.VarChar,20);
cm.Parameters.Add("@USex", SqlDbType.Bit);
cm.Parameters.Add("@UCityID", SqlDbType.Int);
cm.Parameters.Add("@Email", SqlDbType.VarChar,20);


孔夫子说:博学、审问、慎思、明辩、力行[欢迎各位加入爱好者群:25620461]
2006-07-31 15:57
delyex
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-31
收藏
得分:0 
麻烦了,不过不行……还是只能保存第一个字符
2006-07-31 19:03
delyex
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-31
收藏
得分:0 
原来如此,问题在存储过程上,定义存储过程的时候没定义每列元素的大小,多谢提醒!!!
2006-07-31 19:40
快速回复:[求助]SQL为什么只能保存第一个字符?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024465 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved