2015-12-23 32 views
0

我想在数据库中创建新的访问表的名字,但是当我试图从文本框它给错误命名创建一个新的访问表,然后从文本框

子CREATETABLE()

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

“国家或地区名称为varchar(120)主键,” & _ “大陆整数,” & _ “区龙” & _ “人口龙” & _ “资本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 
+1

[命名一个访问表的可能的复制从文本框的文本](http://stackoverflow.com/questions/34433029/naming-a-access-table-from-textboxs-text) –

回答

0

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

进口System.Data.OleDb 进口System.IO 公共类Form1中 私人文件名作为字符串= “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 

末级

相关问题