我正在尝试通过c#创建表 我正在使用以下代码
private void Login_Load(object sender, EventArgs e)
{
string connectionstring = "server=.;database=Student;Integrated Security=True";
SqlConnection conn = new SqlConnection(connectionstring);
string fee_table = @"
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'fees') AND type in (N'U')) CREATE TABLE user (user_name char(50),password char(50));";
conn.Open();
SqlCommand cmd = new SqlCommand(fee_table, conn);
cmd.ExecuteNonQuery();
}
但是我在用户
附近遇到运行时错误语法错误答案 0 :(得分:4)
user
是许多数据库中的关键字。您需要更改表的名称或引用它。例如,在SQL Server中执行以下操作:
CREATE TABLE [user] (user_name char(50),password char(50))
在其他数据库系统中,您可以使用:
CREATE TABLE "user" (user_name char(50),password char(50))
或者:
CREATE TABLE 'user' (user_name char(50),password char(50))
答案 1 :(得分:2)
答案 2 :(得分:1)
USER
是T-SQL中的 reserved keyword
。你应该使用方括号[]
。但是,最好的解决方案是将名称更改为非保留字。
还可以使用using
statement来处置您的SqlConnection
和SqlCommand
。
string connectionstring = "server=.;database=Student;Integrated Security=True";
using(SqlConnection con = new SqlConnection(connectionstring ))
using(SqlCommand cmd = con.CreateCommand())
{
...
con.Open();
cmd.ExecuteNonQuery();
}