2014-03-25 61 views
0

我正在尝试使用代码创建表。如何创建一个在单词之间有空格的表?

这是我的代码。

private void btnOK_Click(object sender, EventArgs e) 
{ 
    if (con.State == ConnectionState.Open) { con.Close(); } 
    con.Open(); 
    string s = "CREATE TABLE "+"" + rchtxtFieldCode.Text + " "+ " (" + rchFieldTitle.Text + " " + combDataType.Text + "" + ")"; 
    SqlCommand cmd = new SqlCommand(s, con); 
    if (cmd.ExecuteNonQuery() >= 1) 
    { 
     MessageBox.Show("created"); 
    } 
    con.Close(); 
} 

它创建表如果表名具有单个字..这正显示出异常,如果存在的话之间的空间(例如:销售信息)

+1

请为此数据库添加标签 –

回答

0

只需添加盒括号:

string s = "CREATE TABLE ["+"" + rchtxtFieldCode.Text + "] "+ " (" + rchFieldTitle.Text + " " + combDataType.Text + "" + ")"; 
         //^_______________________________^ 
1

如果这是你使用SQL Server方括号:

string s = "CREATE TABLE ["+"" + rchtxtFieldCode.Text + "] "+ " ([" + rchFieldTitle.Text + "] " + combDataType.Text + "" + ")"; 

事实上,你应该总是使用方括号来阻止这类错误的发生。

同时确保您正在清理您的字符串,否则您可能会遇到SQL注入问题。

0

不要在表或字段names.In这个空间,尝试改变查询用方括号,即

例如,

sqlString = "CREATE TABLE [All Students]" 
0

使用此代码,我认为它会给你的愿望输出。

private void btnOK_Click(object sender, EventArgs e) 
    { 
     if (con.State == ConnectionState.Open) { con.Close(); } 
     con.Open(); 
     string s = "CREATE TABLE '"+rchtxtFieldCode.Text + "'(" +"'"+rchFieldTitle.Text +"'" + combDataType.Text + "" + ")"; 
     SqlCommand cmd = new SqlCommand(s, con); 
     if (cmd.ExecuteNonQuery() >= 1) 
     { 
      MessageBox.Show("created"); 
     } 
     con.Close(); 
    } 
相关问题