监视得到strSQL的值如下:后面的自动去掉了?为什么呢?
"INSERT INTO KDB_Payment(BillID,paybank,UserName,BoundType,PaymentDate,VoucherId,VoucherWord,ACCTSum,Amount,MoneyType,ExchangeRate,GroupName,Note) VALUES ( 6425,'ÏÖ½ð-ÈËÃñ±Ò','Îâ¾²Ãô','°ì¹«ÓÃÆ··Ñ','2003-3-26', 1,'ÏÖ¸¶',3201,3201,'RMB',1,'ÉîÛڵزúZÆäËû','
"INSERT INTO KDB_Payment(BillID,paybank,UserName,BoundType,PaymentDate,VoucherId,VoucherWord,ACCTSum,Amount,MoneyType,ExchangeRate,GroupName,Note) VALUES ( 6425,'ÏÖ½ð-ÈËÃñ±Ò','Îâ¾²Ãô','°ì¹«ÓÃÆ··Ñ','2003-3-26', 1,'ÏÖ¸¶',3201,3201,'RMB',1,'ÉîÛڵزúZÆäËû','
strsql = "INSERT INTO KDB_Payment(BillID,paybank,UserName,BoundType,PaymentDate,VoucherId,VoucherWord,ACCTSum,Amount,MoneyType,ExchangeRate,GroupName,Note) VALUES ( "
strsql = strsql & CInt(Trim(oItem.Text)) & "," _
& "'" & paybank & "'," _
& "'" & Trim(oItem.SubItems(1)) & "'," _
& "'" & Trim(oItem.SubItems(4)) & "'," _
& "'" & Voucherdate & "', " _
& "" & VoucherID & "," _
& "'" & VoucherWord & "'," _
& "" & ExchangeRate * Amount & "," _
& "" & Amount & "," _
& "'" & MoneyType & "'," _
& "" & ExchangeRate & "," _
& "'" & Trim(oItem.SubItems(8)) & "'," _
& "'" & Note & "')"
cmd.ActiveConnection = connPay
cmd.CommandText = strsql
cmd.Execute
字符串有两种:变长与定长的字符串。 变长字符串最多可包含大约 20 亿 ( 2^31)个字符。
定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。
注意 Public 定长字符串不能在类模块中使用。String 之字符码的范围是 0 到 255。字符集的前 128 个字符(0 到 127)对应于标准的 U.S. 键盘上的字符与符号。这前 128 个字符与 ASCII 字符集中所定义的相同。后 128 个字符(128 到 255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。String 的类型声明字符为美元号 ($)。
会不会与cmd这个类 cmd.CommandText 的属性有关,
这个属性是不是限制大小?
有的记录note变量为""的sql都可以执行,
而NOTE的值长一点就出问题,这没道理啊错语提示:
Err.Number -2147217833
Err.HelpFile "C:\WINNT\Help\VBENLR98.CHM"
Err.Description "String or binary data would be truncated."
Err.HelpContext 1000440
Err.Source "Microsoft OLE DB Provider for SQL Server"
建议用ado来访问!