C# Visual Studio 截断 INSERT 查询中的字符串参数

标签 c# sql visual-studio ms-access query-builder

我试图寻找答案,但没有成功。 我正在尝试将一个大字符串插入 Microsoft Access“备注”字段。大多数人似乎都会遇到数据库将其字符串截断为 255 个字符的问题。这不是我的问题。

我正在尝试使用以下命令进行简单的插入:

INSERT INTO Images
(Code, Issue, FileName)
VALUES        (?, ?, ?)

我正在使用表适配器查询配置向导来执行此操作。例如,使用表适配器调用查询,如下所示

TableAdapter Adapter = new TableAdapter();
Adapter.InsertCode(Code, Issue, FileName);

但是在完成插入后,我检查数据库中的文件,发现它已被截断为大约 1000 个字符。奇怪的是,只有当我以编程方式运行查询时才会发生这种情况。如果我在配置查询时使用查询生成器并手动插入值,则一切正常。

我尝试将字符串写入文件,看起来不错。仅在 INSERT 期间的某个地方字符串被截断。

非常感谢任何帮助。

最佳答案

我已经找到解决办法了。 我猜测,因为我使用的 DataSet.xsd 文件提供了数据库的可视化显示并允许使用查询生成器创建查询,所以 Visual Studio 在后台执行了大量工作。

当我单击表适配器下的查询并查看属性,然后单击参数设置时,字符串参数的最大大小为 1024 个字符。我只是改变了这个值。

希望我能够帮助遇到此问题的其他人。

关于C# Visual Studio 截断 INSERT 查询中的字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39831454/

相关文章:

SQL 多列排序

c# - 查找文件的路径

visual-studio - 如何在 Visual Studio 2008 中更改 Crystal Reports 测量单位

c# - 将 List<Property> 转换为 JObject

c# - 在序列化之前根据模式验证对象

c# - Winforms 中的 Explorer.exe 浏览网络文件夹

mysql - 如何检索一个表中不同项目的数量,以便在另一个表中为每个用户和每个项目存储一个 bool 值?

mysql - SQL Server聚合函数查询

asp.net - 制作一个 CSS HTML 按钮

c# - string.IndexOf 性能