我想要做一个用户注册的网页,在网页上要用户输入用户名密码什么的,然后将他们保存到数据库中,我利用了存储过程:
CREATE PROCEDURE useradd
@UID varchar,
@UPassword varchar,
@UPower int,
@USex bit,
@UCityID int,
@Email varchar,
@UQuestion varchar,
@UAnswer varchar
AS
insert into Users(UID,UPassword,UPower,USex,UCityID,Email,UQuestion,UAnswer)values
(@UID,
@UPassword,
2,
@USex,
@UCityID,
@Email,
@UQuestion,
@UAnswer)
GO
在程序中写的代码:
SqlCommand cm = new SqlCommand("useradd", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@UID", SqlDbType.VarChar);
cm.Parameters["@UID"].Value = TextBox_UID.Text.ToString();
cm.ExecuteNonQuery();
上面我省略了其他数据的输入,反正都是差不多的代码.可是比如我在用户名中输入:qwer,写到sql数据库里面的只有第一个字符q,其他数据也是这样,只有UPower这种int类型的数据你输入20,数据库里面存储的就是20,而其他的varchar都只能存储第一个字符,这是为什么呀?
CREATE PROCEDURE useradd
@UID varchar,
@UPassword varchar,
@UPower int,
@USex bit,
@UCityID int,
@Email varchar,
@UQuestion varchar,
@UAnswer varchar
AS
insert into Users(UID,UPassword,UPower,USex,UCityID,Email,UQuestion,UAnswer)values
(@UID,
@UPassword,
2,
@USex,
@UCityID,
@Email,
@UQuestion,
@UAnswer)
GO
在程序中写的代码:
SqlCommand cm = new SqlCommand("useradd", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@UID", SqlDbType.VarChar);
cm.Parameters["@UID"].Value = TextBox_UID.Text.ToString();
cm.ExecuteNonQuery();
上面我省略了其他数据的输入,反正都是差不多的代码.可是比如我在用户名中输入:qwer,写到sql数据库里面的只有第一个字符q,其他数据也是这样,只有UPower这种int类型的数据你输入20,数据库里面存储的就是20,而其他的varchar都只能存储第一个字符,这是为什么呀?
解决方案 »
- ASP.NET与Oracle连接连不上怎么办?
- 如何将路径单斜杠换成双斜杠
- 怎样删除DataGrid中的一行或多行。用DeleteCommand事件怎样写?
- 求助 page_load 不执行 请高手指教
- 求一简单SQL语句
- 请问:Windows 窗体 DataGrid 控件 上显示 datetime 字段的值,为什么只显示日期 不显示时间?
- 如何将www.a.com/forums/自动跳转到forums.a.com/
- 30多岁的老男人,0基础学编程是否逆天
- 求帮忙。关于使用sql语句备份sql server 2008数据库的问题
- 各位帮帮忙阿,这段代码哪里有毛病?
- 为什么我这么郁闷!!!每个月等着发工资!感觉前途渺茫啊!!!!!!!!!
- asp.net 2.0 中加入AJAX问题
@UID varchar,
@UPassword varchar,
@UPower int,
@USex bit,
@UCityID int,
@Email varchar,
@UQuestion varchar,
@UAnswer varchar
AS
insert into Users(UID,UPassword,UPower,USex,UCityID,Email,UQuestion,UAnswer)values
(@UID,
@UPassword,
2,
@USex,
@UCityID,
@Email,
@UQuestion,
@UAnswer)
GO
中varchar型得写个长度呀,如varchar(50)