首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LONG VARCHAR -从表到前读取(C#),然后向表插入/更新值

LONG VARCHAR -从表到前读取(C#),然后向表插入/更新值
EN

Stack Overflow用户
提问于 2020-08-26 19:27:39
回答 1查看 191关注 0票数 0

我正在使用SqlBase中的DatAdapter.Fill从C# DB读取表信息,它在任何变量类型中都能很好地工作,除了长VARCHAR,在这种情况下,它在C#中转换为字符串类型,如果我添加了一个对象变量,我看到了一些奇怪的字符,所以稍后当我尝试插入/更新另一个表(在另一个数据库中)时,它会失败。

我知道,即使这个值在C#中是可以的--我不能按原样插入这个值--文档说我应该将这个值绑定到一个变量上,以便能够插入到表中,但是我不知道该如何做,因为我正在创建要在SqlBase中运行的C#脚本,我没有从C#中直接执行操作,即使我不能正确地读取该值,因为它将转换成带有奇怪数字的字符串,这个LOAG VARCHAR是否像Server中的VARBINARY?我认为这是因为我遇到问题的专栏是一个徽标,就像一张图片。

所以简单地说,有没有办法

  1. 从.NET读一个长的varchar,然后..。
  2. 当将/更新值插入/更新到表中时,..Use?

(1)是.NET,但(2)是要使用SqlTalk在Sqlbase上运行的sql脚本。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 21:47:23

建议使用SQLTalk命令将长数据卸载到平面文件中。这样你就能得到可读的数据。如果需要的话,可以使用C#读取平面文件,并使用它执行任意操作,但是要使用SQLTalk将数据重新加载到另一个表中,则需要使用特定的语法。转到这里:SQLBase手册(所有版本)提取适合您正在使用的SQLBase版本的手册,1)从“SQLBase语言引用”中读取卸载时将长数据输出到一个平面文件中(不同的snytax则提供不同的结果)。然后从“SQLTalk命令引用”中阅读“Long data的绑定变量示例”,因为您必须设置LONG VARCHAR数据来绑定变量。将长数据插入长VARCHAR或长NVARCHAR或long二进制列时,在其前面加上$LONG关键字。然后,可以开始在下一行输入数据,并继续在连续行上输入数据。要标记文本的结尾,请在新行(//)上输入一个双斜杠。例如:

代码语言:javascript
复制
INSERT INTO BIO (NAME, BIO) VALUES (:1,:2)
\
SHAKESPEARE, $LONG
William Shakespeare was born in Stratford-on-Avon on
April 16, 1564. He was England's most famous poet and
dramatist. . . . .. . .
He died in 1616, leaving his second best bed to his wife.
//

如果LONG (N)VARCHAR或LONG VARBINARY列的数据来自文件,请在$LONG关键字之后输入文件名。例如:

代码语言:javascript
复制
INSERT INTO BIO (NAME, BIO) VALUES (:1,:2)
\
SHAKESPEARE, $LONG shakes.txt
JONSON,$LONG jonson.txt
O'NEILL,$LONG oneill.txt
/

更新长数据。

代码语言:javascript
复制
UPDATE TABLE EXPENSES SET COMMENTS = :1 WHERE DATE = :2
\
"Beltran Tree Service", 1/1/94 "Hercules", 1/2/94
"Checkup", 1/3/94
/

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

https://stackoverflow.com/questions/63604491

复制
相关文章

相似问题

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