我现在用VB向mysql数据库插入数据.
我的SQL语句如下.在mysql中运行没有问题.在VB下运行就出现问题的.由于SQL语句太长.附上代码简写.
希望会的人帮我解决一下.非常感谢Dim objConn as ADODB.Connection
Set objConn = new ADODB.Connection'连接数据库部份省略strSql = "INSERT INTO 表名1(字段1...) VALUES(数据1...);"
strSql = strSql &"INSERT INTO 表名2(字段2...) VALUES(数据2...);"
strSql = strSql &"INSERT INTO 表名3(字段3...) VALUES(数据3...);"
objConn.Execute(strSql)
SQL语句可以肯定是正确的.因为在MYSQL中运行没有问题.
VB错误信息如下:
 

解决方案 »

  1.   

    提示是你语法有错误啊,第一行
    SET @maxID=last_insert_id();
    INSERT INTO uc_memberfields(uid) VALUES(@maxID);
      

  2.   

    有没有可能是我的ODBC版本太少了呢?
    我用的MYSQL 5.637的..ODBC最新版本是5.1.5
    但是我下载了最新版本.却连接不上MYSQL数据库了.
    连接字符串是什么?
      

  3.   

    由于vb的数据库有的引擎不支持某些语句,你在数据库中能执行的语句在access中不一定正确还是贴出你的原语句,让大家帮你分析
      

  4.   

    由于vb的数据库有的引擎不支持某些语句,你在数据库中能执行的语句在vb中不一定正确 还是贴出你的原语句,让大家帮你分析
      

  5.   

    具体问题我已经分析出来了.
    这样吧
    strSql = "SELECT 1+1"
    objConn.Execute strSQL
    这样执行肯定是没有问题的我稍改一下.以下就报错了.
    strSql = "SELECT 1+1;"
    strSql = strSql &" SELECT 1+1;"
    objConn.Execute strSQL我再改一下.以下也是报错的
    strSql = "SELECT 1+1 "
    strSql = strSql &" SELECT 1+1"
    objConn.Execute strSQL我得出一个结论就是VB执行MYSQL语句一次只能执行一条.不能多条连着执行.
    不知道各位有没有试过.
      

  6.   


    INSERT INTO uc_members(userName,password,email,regip,regdate,salt) VALUES('1407737','f83525e28b8d218c2a9bf9b09adff8d3','[email protected]','218.17.222.9','1201496460','TONLO8'); SET @maxID = last_insert_id(); INSERT INTO uc_memberfields(uid) VALUES(@maxID); INSERT INTO uchome_space(uid,groupid,credit,username,name,namestatus,domain,viewnum,notenum,friendnum,dateline,updatetime,Lastsearch,lastpost,lastlogin,lastsend,attachsize,addsize,flag,newpm,avatar,ip,mood) VALUES(@maxID,5,421,'美可儿','美可儿',0,'1407737',274,0,8,1201496460,1215414747,0,0,1215414747,0,0,0,0,0,1,21817222,0); INSERT INTO uchome_spacefield (uid,sex,email,emailcheck,qq,msn,birthyear,birthmonth,birthday,blood,marry,birthprovince,birthcity,resideprovince,residecity,note,spacenote,authstr,theme,nocss,css,privacy,friend,feedfriend,sendmail,setting)Values(@maxID,2,'[email protected]',0,'','',1982,6,27,'0',0,'湖南','邵阳市','深圳','南山区','什么都没做','0','0','0',0,'0','0','0','0','0','0');  INSERT INTO uchome_member(uid,userName,password) VALUES(@maxID,'1407737','f83525e28b8d218c2a9bf9b09adff8d3'); 
    这是我的SQL语句
      

  7.   

    按理来说不应该啊,你这样修改试试看
    strSql = "SELECT 1+1;" & _
              "SELECT 1+1;"
    objConn.Execute strSQL 
    还有加上option explicit 
    on error goto err1
    err1:
        if err.number<>0 then
            msgbox err.description
        end if
    然后在strsql这里设置断点,一步步执行,看看哪步出错,弹出什么错误,贴出出错位置的代码和错误描述
      

  8.   

    mysql没有用过,你这个语句直接在数据库里执行没问题吧
      

  9.   


    错误信息如下:
    [MySQL][ODBC 5.1 Driver][mysqld-5.0.67-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1+1' at line 1
      

  10.   

    SQL语句直接运行没有问题...
    实在没办法的话只能自己写事务处理了.mssql我这样写过没有问题.现在转成mysql了这样写就有问题了.
      

  11.   

    执行一条语句能够,多条语句则出错,查询jmter日志,告知sql语法错误。后来发现需要allowmultiqueries参数置为true,而且,只有mysql connector/j 3.1.1以上版本才支持。建立连接时配置一下就能够了,如:jdbc:mysql://192.168.3.180/sample?user=root&password=&allowmultiqueries=true试试这个
      

  12.   


    <?php
         echo "this is a test!";
    ?>