==关于ASP向数据库中录入数据的问题!===
我现在用Connection对象向Sql server数据库添加数据
用字符StrSql来生成命令,但其中有一个Char型的字符
它的实际数据中含有逗号,故执行命令时发生错误
简单示例如下:
strSql="insert into myDB(ID,Describ) values(rs(0),'"&rs(1)&"')"
myCon.Excute strSql
其中ID是int型,Describ是char型
若实际数据为id:123 Describ:你好,朋友
则生成的strSql为:
insert into myDB(ID,Describ) values(123,'你好,朋友')
这就出现了逗号截断数据的错误提示
问如何解决
问题点数:0、回复次数:19Top
1 楼zorou_fatal(The world and system is even)回复于 2003-08-02 12:44:51 得分 0
strSql="insert into myDB(ID,Describ) values(rs(0),'"&rs(1)&"')"
写成
strSql="insert into myDB(ID,Describ) values("&rs(0)&",'"&rs(1)&"')"
才对吧?
Top
2 楼zorou_fatal(The world and system is even)回复于 2003-08-02 12:46:27 得分 0
strSql="insert into myDB(ID,Describ) values(rs(0),'"&rs(1)&"')"
应该是
strSql="insert into myDB(ID,Describ) values("&rs(0)&",'"&rs(1)&"')"
才对吧?Top
3 楼vcforward(前进前进再前进)回复于 2003-08-02 12:53:49 得分 0
我写错了,是你说的那个样子
不过错误仍然如此Top
4 楼jzywh(江大鱼)回复于 2003-08-02 13:15:52 得分 0
是呀
这也是个问题呀Top
5 楼vcforward(前进前进再前进)回复于 2003-08-02 13:32:51 得分 0
如何解决,有什么方法??
只要能解决就可以!Top
6 楼smuzy(smuzy)回复于 2003-08-02 13:41:12 得分 0
用 select * from myDB where false
rs.addnew
rs.fields("ID")=123
rs.fields("Describ")="你好,朋友"
rs.updateTop
7 楼smuzy(smuzy)回复于 2003-08-02 13:41:28 得分 0
或者使用存储过程Top
8 楼bigspook(开心就好)回复于 2003-08-02 13:47:19 得分 0
我没有遇到过这样的问题啊,应该没事的!Top
9 楼fengchu2(凤雏)回复于 2003-08-02 14:09:27 得分 0
strSql="insert into myDB(ID,Describ) values('"&cstr(rs(0))&"','"&cstr(trim(rs(1)))&"')"
Top
10 楼vcforward(前进前进再前进)回复于 2003-08-02 14:36:10 得分 0
上述方法我都试验过了
还是同样的问题存在
大家多想想Top
11 楼enthuris(enthuris)回复于 2003-08-02 14:58:35 得分 0
strSql="insert into myDB(ID,Describ) values('"&rs(0)&"','"&rs(1)&"')"
myCon.Excute strSql-------------->写错了
myCon.Execute strSql ' 这样的吧
Top
12 楼vcforward(前进前进再前进)回复于 2003-08-02 15:04:25 得分 0
不好意思,我在这里写错了,在程序里面是Execute的
终究还是没有解决问题Top
13 楼vcforward(前进前进再前进)回复于 2003-08-02 15:24:09 得分 0
为什么用smuzy的方法时,页面总是无法显示Top
14 楼smuzy(smuzy)回复于 2003-08-02 15:25:17 得分 0
贴出来看看你是怎么写的?Top
15 楼vcforward(前进前进再前进)回复于 2003-08-02 15:41:19 得分 0
' if rs2.state<>adStateClosed then
' rs2.close
' end if
rs2.Open "MyChanPinKu",myCon,0,2
rs2.addnew
rs2.fields("Id").Value =rs(0);
rs2.fields("UserId").Value =trim(session("UserId"))
rs2.fields("ProductId").Value =rs(0)
rs2.fields("ProductName").Value =trim(rs(1))
rs2.fields("Abstract").Value =trim(rs(4))
rs2.fields("pubDate").Value =trim(rs(7))
rs2.update
rs2.closeTop
16 楼smuzy(smuzy)回复于 2003-08-02 15:47:18 得分 0
rs2.Open "MyChanPinKu",myCon,0,2
是什么?
我不是说这样吗?
rs2.Open "select * from myDB where false",myCon,0,2Top
17 楼vcforward(前进前进再前进)回复于 2003-08-02 16:06:11 得分 0
仍然是无法显示页面
Top
18 楼vcforward(前进前进再前进)回复于 2003-08-04 13:02:47 得分 0
用smuzy的方法时出现了如下错误提示:
Microsoft OLE DB Provider for SQL Server 错误 '80040e21'
多步 OLE DB 操作产生错误。请检查每个 OLE DB 状态值。没有工作被完成。
/qq/myShouCangChanPin.asp,行54
Top
19 楼vcforward(前进前进再前进)回复于 2003-08-04 13:06:25 得分 0
错误落在
rs2.fields("Abstract").Value =trim(rs(4))上
其中rs(4)中含有“逗号”Top




