数据库更新是问什么要d出异常(将截断字符串或二进制数据)

数据库更新是问什么要d出异常(将截断字符串或二进制数据),第1张

你定义的字段长度不够,插入的数据太长被截断了,你应该将字段定义长一点,比如用来存字符串的可以定义为nvarchar(200),这种类型可以自动收缩,即使你输入的是2个字符串它也不会在后面补空格~不像char类型,会显示固定长度,不够则补空格,超出则截断~

我自己一般不用dataset更新数据库的 如果你使用的数据库是SQL Server, 那么用的SqlDataAdapter的Update方法来更新数据库的数据的吧, 它是可以自己设定更新数据库的SQL语句的, 代码片段如下:

SqlDataAdapter sqlDa = null;

 

// 设置sqlDa

SqlCommand command = new SqlCommand(

        "UPDATE tbName SET column1 = @value1, column2 = @value2 WHERE keyColumn = @keyValue", connection);

// 设置command的参数与对应列, 根据实际修改类型, 列名

commandParametersAdd("@value1", SqlDbTypeNChar, 50, "column1");

SqlParameter parameter = commandParametersAdd("@keyValue", SqlDbTypeNChar, 10, "keyColumn");

parameterSourceVersion = DataRowVersionOriginal;

sqlDaUpdateCommand = command;

 

// sqlDa执行更新

所以, 只把需要更新的列放到更新语句中, 那个统计列不要放在里面, 就不会发生你所说的异常了

1、确定链接字符串是否是你要更新的库;

2、检查查询语句是否是你要更新的表和字段;

3、检查session("stu_id") 的值是否是你需要更新的stu_id值。

---------

像这种问题,通常就设断点跟踪一下,然后把 str_update 的值拷贝出来,放在查询分析器里运行一下,就很容易查出来。

去除非主属性对码的部分依赖,去除主属性对码的传递函数依赖。变成4NF

去除主属性对码的传递函数依赖,所有非主属性对每一个码都是完全函数依赖。 所有的主属性对每一个不包含它的码,也是完全函数依赖。

没有任何属性完全函数依赖于非码的任何一组属性。保证以上几点,则变成BCNF

/ stmt=null; /

// sqlstring="insert into datacong(用户名,密码,真实姓名,性别,电话,Email,身份z号码)"+

// "values('"+cong_username+"','"+cong_password+"','"+cong_realname+"','"+cong_gender+"','"+cong_tel+"','"+cong_email+"','"+cong_ID+"')";

String sqlstring2="update datacong set tel=tel+1";

int i=stmtexecuteUpdate(sqlstring2);

responsesendRedirect("Login_congjsp");

注意我用/ /标注的 在先看你下面用到了这个变了你给他的值是什么自己想想吧

以上就是关于数据库更新是问什么要d出异常(将截断字符串或二进制数据)全部的内容,包括:数据库更新是问什么要d出异常(将截断字符串或二进制数据)、c#中用dataset更新数据库,但数据库表中有计算列,无法进行更新,求解。、SQL UPDATE 为什么更新不了数据库!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10068872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存