读书人

Access2003用C#更新数据库时如果前面

发布时间: 2013-12-19 00:33:34 作者: rapoo

Access2003用C#更新数据库时,如果前面有多个0,保存到数据库中只有一个0,我在数据库中设置的是文本格式。大神有遇到过的么?
代码如下:
string query_sql = @"update 用户信息 set 口令=" + tB_code1.Text + @" where 用户名=@用户名";
try
{
conn.Open();//打开数据库,建立连接
OleDbCommand cmd = new OleDbCommand();//实例化 Command对象
cmd.Connection = conn;//关联Connection对象,建立数据库连接
cmd.CommandText = query_sql;//这句必须指定,没有这句,查询操作将无法进行 将sql语句赋值给CommandText属性

cmd.Parameters.AddWithValue("@用户名", f_sysSet.tB_User.Text);
cmd.Parameters.AddWithValue("@口令", tB_code1.Text);

//cmd.Parameters.Add("@用户名", OleDbType.Variant).Value = f_sysSet.tB_User.Text;
//cmd.Parameters.Add("@口令", OleDbType.Variant).Value = tB_code1.Text;

int i = cmd.ExecuteNonQuery();
if (i > 0)//密码正确
{
MessageBox.Show("口令修改成功!");
}
else//密码错误
{
MessageBox.Show("口令修改失败!");
}


如果我在控件里输入000,那么保存到数据库里的就是0
大虾们怎么解决?Access2003用C#更新数据库时,如果前面有多个0,保存到数据库中只有一个0,小弟我在数据库中设置的是文本格式。大神有遇到过的么
[解决办法]
string query_sql = @"update 用户信息 set 口令='" + tB_code1.Text + @"' where 用户名=@用户名";

试试
[解决办法]
截取输入字符的第一位看他是不是0呗
[解决办法]
你如果是access数据库。字段用的文本的话

OleDbType.Variant=》改为OleDbType.VarWChar
http://blog.163.com/modingfa_002/blog/static/1109254662010157214121/
Access数据类型与.net OleDbType枚举类型的对应

http://blog.csdn.net/tangzhongxin/article/details/4630699

读书人网 >C#

热点推荐