创建一个新的访问 table 并从文本框中命名

Creating a new access table and name it from textbox

我正在尝试在数据库中创建新访问 table,但是当我尝试从文本框中命名它时出现错误

子创建表()

Dim strCreate As String = "CREATE TABLE"& TxtBoxTb1Name.Text &(" & _

"CountryName varchar(120) Primary key," & _ "Continent Integer," & _ "Area Long," & _ "Population Long," & _ "Capital varchar(80)," & _ "Code char(2));"

    Dim conDatabase As OleDbConnection = New OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" & _
    "Data Source=""Data Source=" & filename & ".mdb;")
    Dim cmdDatabase As OleDbCommand = New OleDbCommand(strCreate, conDatabase)
    conDatabase.Open()
    cmdDatabase.ExecuteNonQuery()
    conDatabase.Close()
    MessageBox.Show("Table Created Sucessfully")
End Sub

您必须修改语法来定义主键,并在创建 SQL 语句时注意空格和逗号。以下是有效的固定代码。

进口System.Data.OleDb 进口 System.IO Public Class 表格 1 私有文件名 As String = "SampleDB.mdb"

Private Sub CreateTable()
    Dim strCreate As String = "CREATE TABLE " &
        TxtBoxTb1Name.Text & "(_Continent Integer, " & "_Area Long, " & "_Population Long," & "_Capital varchar(80)," & "_Code Char(2)," & "_CountryName varchar(120) CONSTRAINT MyFieldConstraint PRIMARY KEY)"

    Dim conDatabase As OleDbConnection = New OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0; " &
        "Data Source=" & Path.GetFullPath(filename) & "; User Id=admin;
        Password =;")
    conDatabase.Open()
    Dim cmdDatabase As OleDbCommand = New OleDbCommand(strCreate, conDatabase)

    cmdDatabase.ExecuteNonQuery()
    conDatabase.Close()
    MessageBox.Show("Table Created Sucessfully")

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    CreateTable()
End Sub

结束Class