为什么我只能录入数字,不能录入字母或汉字,输入字母或汉字,说insert into 语句有错误。

解决方案 »

  1.   

    你检查一下你数据库中对应的字段是否定义为数字型了(INT,LONG ,NUMERRIC等)
    如果是,将其改过来.
    ALTER TABLE [TABLENAME] ALTER [字段名] VARHCAR(32) NULL
      

  2.   

    asql = "insert into a([标识],[县市区],[乡镇街],[单位],[单位性质],[姓名],[身份证],[人员性质])  values(" & Text5.Text & "," & Text1.Text & "," & Text2.Text & "," & Text3.Text & "," & Trim(Combo1) & "," & Text4.Text & "," & Text5.Text & "," & Trim(Combo2) & ")"
    Set re = New ADODB.Recordset
    re.Open asql, cn
      

  3.   

    暈了.insert 是用open開嗎? Public conn As New ADODB.Connection
     conn.Execute"asql"
    你怎麼能插數字的?
      

  4.   

    asql = "insert into a([标识],[县市区],[乡镇街],[单位],[单位性质],[姓名],[身份证],[人员性质])  values(" & Text5.Text & "," & Text1.Text & "," & Text2.Text & "," & Text3.Text & "," & Trim(Combo1) & "," & Text4.Text & "," & Text5.Text & "," & Trim(Combo2) & ")"'上面的语句是插入数据库语句.
    '是不能用RS打开的.只能用CNN执行.Set re = New ADODB.Recordset
    re.Open asql, cn
      

  5.   

    我来告诉你吧。你没有加单引号,数字不加。文本一定要加
    "'" & text1.text & "'"
      

  6.   

    这是完整的代码
    Private Sub Command1_Click()
    Dim asql As String
    Dim i As IntegerSet cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\czdb.mdb;Persist Security Info=False"
    cn.Openasql = "insert into a([标识],[县市区],[乡镇街],[单位],[单位性质],[姓名],[身份证],[人员性质])  values(" & Text5.Text & "," & Text1.Text & "," & Text2.Text & "," & Text3.Text & "," & Trim(Combo1) & "," & Text4.Text & "," & Text5.Text & "," & Trim(Combo2) & ")"
    'asql = "insert into a([标识],[县市区])  values(" & Text5.Text & "," & Text1.Text & ")"
    Set re = New ADODB.Connection
    re.Open asql, cn
    cn.Execute asqlEnd Sub