LONG VARCHAR-从表读取到Front(C#),然后向表插入/UPDATE值



我正在使用DatAdapter从SqlBase数据库中读取表信息。在C#中,它可以完美地适用于除LONG VARCHAR之外的任何变量类型,在这种情况下,它会转换为C#中的String类型,如果我添加一个watch-the-object变量,我会在其中看到一些奇怪的字符,所以稍后当我试图插入/更新另一个表(在另一个数据库中(时,它会失败。

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

简而言之,有什么办法吗

  1. 从.NET中读取一个长varchar,然后
  2. 。。在表中插入/更新值时使用它

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

谢谢!

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

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关键字后输入文件名。例如

INSERT INTO BIO (NAME, BIO) VALUES (:1,:2)

SHAKESPEARE, $LONG shakes.txt
JONSON,$LONG jonson.txt
O'NEILL,$LONG oneill.txt
/

更新长数据,例如

UPDATE TABLE EXPENSES SET COMMENTS = :1 WHERE DATE = :2

"Beltran Tree Service", 1/1/94 "Hercules", 1/2/94
"Checkup", 1/3/94
/

相关内容

  • 没有找到相关文章

最新更新