首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >知道在更新数据库时字符串是否会被截断

知道在更新数据库时字符串是否会被截断
EN

Stack Overflow用户
提问于 2009-12-17 00:29:02
回答 4查看 806关注 0票数 0

我正在开发一个软件,它获取csv文件并将数据放入sqlserver中。我现在正在用错误的数据测试它,当我将一个数据字符串设置为长的(在一行中)导入数据库时,我得到了错误:字符串或二进制数据将被截断,语句已终止。这很正常,这也是我应该期待的。现在,我想在更新数据库之前检测这些错误。有什么聪明的方法可以检测到这一点吗?

我的软件的工作方式是导入数据集中的每一行,然后向用户显示要导入的数据。然后,他可以单击一个按钮来进行实际的更新。然后,我执行dataAdapter.Update( Dataset,“某种东西”)来对数据库进行更新。

问题是错误行会终止所有更新并报告错误。因此,我希望在对服务器执行更新之前检测到错误,以便插入其他行。

谢谢

EN

回答 4

Stack Overflow用户

发布于 2009-12-17 00:33:39

您必须检查每行的列。查看是否超过数据库中指定的最大值,如果是,则将其从插入中排除。

另一种解决方案是显式截断数据并插入截断的内容,这可以通过使用SubString来完成。

票数 1
EN

Stack Overflow用户

发布于 2009-12-17 00:37:34

据我所知,唯一的方法是预先检查信息模式的字符限制:

代码语言:javascript
复制
Select
    Column_Name,
    Character_Maximum_Length
From
    Information_Schema.Columns
Where
    Table_Name = 'YourTableName'
票数 1
EN

Stack Overflow用户

发布于 2009-12-17 00:40:20

您需要的是列元数据。

MSDN: SqlConnection.GetSchema Method

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1915854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档