关于insert into

vbvc6666 2003-08-21 10:03:17
我用win2000server+vb6.0+access2002+ADO向access中添加记录,语句如下:
dim cn as new adodb.connection
dim rs as new adodb.recordset
connstr="provider=microsoft.jet.coldb.4.0;data source="+app.path+"\program.mdb;mode=readwrite|share deny none;persist security info=false"
cn.connectionstring=connstr
cn.open
with MSHFlexGrid1
for i=1 to .rows-2
id=.textmatrix(i,0)
names=.textmatrix(i,1)
manufacturer=.textmatrix(i,2)
versions=.textmatrix(i,3)
types=.textmatrix(i,4)
time_length=.textmatrix(i,5)
table_name=inputbox("请输入名称!","保存")
sql="insert into program (id,names,manufacturer,versions,types,time_length,table_name) values(id,names,manufacturer,versions,types,time_length,table_name)"
rs.open sql,cn,1,1
next
程序一运行后,提示
run-time error '3001'
变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
我看过库中的数据类型全是“文本”类型,应该不会有错吧,可就是有问题,不知何故?后来我把变量全换成字符串,没有问题,但库中却没有数据,请高手帮忙。
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbfinger 2003-08-21
  • 打赏
  • 举报
回复
你的value后写的格式不对,你要看看你的数据库中的表的字段的定义类型。这是我做的一个实例,参考一下吧!如果不行就是别的问题。楼上的说得也不错,试试吧!

sql = "insert into 学生学籍表( xh,xm,xb,csrq,gb,mz,sfzh,syd,hyzk,rxsj,gdxw,yx,zy,bysj,byzsbh) values('" & Txtxh.Text & " ','" & Txtxm.Text & "','" & txtxb.Text & "',#" & DateValue(mtxtcsrq.Text) & "#,'" & txtgb.Text & "','" & txtmz.Text & "','" & txtsfzh.Text & "','" & txtsyd.Text & "','" & txthyzk.Text & "',# " & DateValue(txtrxsj.Text) & " #,'" & txtgdxw.Text & "','" & Txtyx.Text & "','" & txtzy.Text & "',# " & DateValue(txtbysj) & " #,'" & Txtbyzsbh.Text & "')"
adocon.Execute (sql)
zhenglc 2003-08-21
  • 打赏
  • 举报
回复
"insert into *** (....) values ('" & id & "','" & ...... & ")"
如果是数据库中定义的数据类型是字符类型要加'',数值型不用加''
vbvc6666 2003-08-21
  • 打赏
  • 举报
回复
我也曾过,但这样一写,VB就提示这样写错误
ilons1 2003-08-21
  • 打赏
  • 举报
回复
引號問題,values 中的變量 前后要有引號

"insert into *** (....) values ('" & id & "','" & ...... & ")"
vbvc6666 2003-08-21
  • 打赏
  • 举报
回复
我改成cn.execute sql,1,1也不行啊,而且提示:
run-time error'-2147217900(80040e14)':
insert into语句的语法错误
xayzmb 2003-08-21
  • 打赏
  • 举报
回复
rs.open 后面不能跟 insert update等语句
应该是:
cn.execute "insert into........"

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧