数据无法输入数据库

sd4062825 2010-03-13 09:30:16
我用存储过程插入数据
存储过程为
create procedure adad(@num int,@ad varchar,@cod varchar,@nam varchar,@man int)
as
insert
into ad(员工号,用户名,密码,姓名,经理)
values(@num,@ad,@cod,@nam,@man);
程序代码为
SqlConnection con = new SqlConnection("server=.;database=supermarket;trusted_connection=true");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "adad";
SqlParameter[] par =
{
new SqlParameter("@num",this.label5.Text),
new SqlParameter("@ad",this.textBox1.Text),
new SqlParameter("@cod",this.textBox2.Text),
new SqlParameter("@nam",this.textBox4.Text),
new SqlParameter("@man",flag)
};
foreach (SqlParameter parms in par)
{
cmd.Parameters.Add(parms);
}
cmd.ExecuteNonQuery();
可是new SqlParameter("@nam",this.textBox4.Text),处的值插入表后为空,换flag就能输入,@nam处的数据类型为varchar
该怎么改?
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhblxm 2010-03-13
  • 打赏
  • 举报
回复
楼主即然用.net做客户端
应该多使用ADO.NET的功能
1、使用数据绑定
2、使用数据集
3、使用数据适配器的UPDATE功能
4、SQLSERVER的存储过程功能很强,但个人觉得用来做常用的插入、更新用起来太麻烦,在编写客户端代码
时要写很多代码的
sd4062825 2010-03-13
  • 打赏
  • 举报
回复
就是textBox4.Text 的值
duanzhi1984 2010-03-13
  • 打赏
  • 举报
回复
你调试下,看 textBox4.Text 到底是多少.
sd4062825 2010-03-13
  • 打赏
  • 举报
回复
加Tostring()了,不行。。。
--小F-- 2010-03-13
  • 打赏
  • 举报
回复
转换一下 转换成字符型的
黄_瓜 2010-03-13
  • 打赏
  • 举报
回复
--try
new SqlParameter("@nam",this.textBox4.Text.Tostring()),
金汐 2010-03-13
  • 打赏
  • 举报
回复
create procedure adad(@num int,@ad varchar,@cod varchar,@nam varchar,@man int)


光从你存储过程定义来看,你的输入参数的varchar没加长度,这样插入数据时会截断成空字符插入的.

34,576

社区成员

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

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