当前位置:编程学习 > VB >>

超好拿分 感觉很简单 我却纠结在此 请各位大侠帮忙

    SQLString = "create table " & tableName & " (序号 bigint primary key ,标段 varchar(10),监控点 varchar(20),日期 datetime,时间 char(10),图片 varchar(100))"
    conn.Execute SQLString, adCmdText
    SQLString = "insert into " & Trim(tableName) & " (序号,标段,监控点,日期,时间,图片) values('1', '" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
    conn.Execute SQLString, adCmdText
各位大侠,帮忙看看这两句话有什么错误,谢谢了! 上面tableName,biaoDuan,jianKongDian,nowDate,zhuaPaiTime都是变量名 SQLString = "insert into " & Trim(tableName) & " values ('1', '" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
哪报错?我也不是在行
tableName的内容为“路通-路通院内”
提示“-”附近有语法错误
让我很郁闷 是不是“-”是保留字啊? SQLString = "create table [" & tableName & "] (序号 bigint primary key ,标段 varchar(10),监控点 varchar(20),日期 datetime,时间 char(10),图片 varchar(100))"
  conn.Execute SQLString, adCmdText
  SQLString = "insert into [" & Trim(tableName) & "] (序号,标段,监控点,日期,时间,图片) values('1', '" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
  conn.Execute SQLString, adCmdText
测试了,不能有-,只能有_
下划线是可以的,普通半角横杠是不允许的 我的sql2000 sp4。即使报错,但是横杆前面的表创建了,表名只有前面部分.

建议把表名改为:“路通_路通院内” 谢谢啊 遇见高手了
顺便再请教一个问题
 SQLString = "select * from Sysobjects where name='" + tableName + "'and xtype='U' "
    rs.CursorType = adOpenStatic
    rs.CursorLocation = adUseClient
   
    Set rs = conn.Execute(SQLString)
    If rs.RecordCount Then
        Text1.Text = "表不存在"
        SQLString = "create table [" & Trim(tableName) & "] (序号 bigint primary key,标段 varchar(10),监控点 varchar(20),日期 datetime,时间 char(10),图片 varchar(100))"
        conn.Execute SQLString
        SQLString = "insert into [" + Trim(tableName) + "] (序号,标段,监控点,日期,时间,图片) values('1', '" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
        conn.Execute SQLString, adCmdText
    Else
        Text1.Text = "表存在"
        SQLString = "insert into [" + Trim(tableName) + "] (序号,标段,监控点,日期,时间,图片) values(' ' ,'" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
        conn.Execute SQLString, adCmdText
    End If

我上边的判断“表是否存在”,存在问题  
望帮忙解决以下 rs.RecordCount
无法来判断该表名是否存在  
不知道该如何解决? 表不存在会返回错误,rs.recordcount建立在表存在的基础上获得的查询的记录总数 我执行一次以后 发现rs.recordcount仍然等于-1,和表不存在的时候,情况是一样的
On Error Resume Next
conn.Execute "select * from 表", adCmdText 
if err.number<>0 then msgbox "错误,表不存在"
谢谢 兄弟了 还有点小问题
现在只能执行一次 便终止了  不知道问题所在
我先琢磨下  
  SQLString = "select * from Sysobjects where name='" + tableName + "'and xtype='U' "
    rs.CursorType = adOpenStatic
    rs.CursorLocation = adUseClient
 
    Set rs = conn.Execute(SQLString)
    
    If rs.PageCount Then
        Text1.Text = "表不存在"
        On Error Resume Next
        SQLString = "create table [" & Trim(tableName) & "] (序号 bigint primary key,标段 varchar(10),监控点 varchar(20),日期 datetime,时间 char(10),图片 varchar(100))"
        conn.Execute SQLString, adCmdText
        SQLString = "insert into [" + Trim(tableName) + "] (序号,标段,监控点,日期,时间,图片) values('1', '" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
        conn.Execute SQLString, adCmdText
        rs.Update
    Else
        Text1.Text = "表存在"
        SQLString = "insert into [" + Trim(tableName) + "] (序号,标段,监控点,日期,时间,图片) values(' ' ,'" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
        conn.Execute SQLString, adCmdText
    End If
加了On Error Resume Next以后,能捕捉错误  但是只能插入两条信息,之后便终止了  还望高手继续赐教 估摸着还是判断表是否存在的语句存在问题!!哪位大侠帮忙看下 你是要根据某个变量创建若干个表么?
如果表存在,就插入记录;否则先创建表,再插入记录?
是不是这个需求? 对 是个需求 单步执行下不就知道了……  SQLString = "select * from Sysobjects where name='" + tableName + "'and xtype='U'"
 Set rs = conn.Execute(SQLString)
 If Not rs.EOF Then
        Text1.Text = "表存在"
    Else
        Text1.Text = "表不存在"
        SQLString = "create table [" & Trim(tableName) & "] (序号 bigint primary key,标段 varchar(10),监控点 varchar(20),日期 datetime,时间 char(10),图片 varchar(100))"
        conn.Execute SQLString, adCmdText
    End If
    SQLString = "insert into [" + Trim(tableName) + "] (序号,标段,监控点,日期,时间,图片) values(' ' ,'" & Trim(biaoDuan) & " ','" & Trim(jianKongDian) & "','" & Trim(nowDate) & "','" & Trim(zhuaPaiTime) & "','" & Trim(singleFilePath) & "')"
    conn.Execute SQLString, adCmdText
我改成这种方式,随后插入的时候 提示如下
[miscosoft][ODBC SQL Server][SQL Server]当IDENTITY INSERT 设置为OFF时,不能向表‘路通-路通院内’中的标识列插入显式值。
 if rs.eof then
   response.write "表不存在"
 else
  ...
 end if
引用 19 楼 guo_ccnu 的回复:
SQLString = "select * from Sysobjects where name='" + tableName + "'and xtype='U'"
 Set rs = conn.Execute(SQLString)
 If Not rs.EOF Then
  Text1.Text = "表存在"
  Else
  Text1.Text = "表不存在"
  SQLSt……

如果要手动向表中插入标识列,那就不能用自增,即创建表时,不能用 identity(1,1). 问题解决了 我把“序号”字段去掉了 过去我“序号”字段设为了主键,并且设为递增了 现在解决了 谢谢各位大侠
引用 4 楼 yiguangqiang88 的回复:
是不是“-”是保留字啊?
???????
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,