我正在学习C#,我正在尝试将我的程序连接到SQL Server数据库。出于学习目的,我遵循以下视频:
http://www.youtube.com/watch?v=Rwdedptaou0
这是我的代码:
using System.Data.SqlClient;
namespace TestDBMS
{
public partial class MainWindow : Window
{
SqlConnection conn;
SqlCommand cmd;
public MainWindow()
{
InitializeComponent();
conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Reventon\Documents\EmployeeDB.mdf;Integrated Security=True;Connect Timeout=30");
}
private void btnSave_Click(object sender, RoutedEventArgs e)
{
string query = "INSERT INTO Table VALUES(3, 'Sachin', '120000', 'Nagaur')";
cmd = new SqlCommand();
cmd.CommandText = query;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("Record Saved");
}
}
}
编译程序后我收到错误
“表格”附近的语法不正确
(为了更好的表示,我已经捕获了截图并上传到我的Skydrive帐户)。 http://sdrv.ms/1bUDe3l
请帮帮我。
答案 0 :(得分:4)
Table
是关键字,不能用作表名。
将查询更改为
string query = "INSERT INTO yourTableName VALUES(3, 'Sachin', '120000', 'Nagaur')";
答案 1 :(得分:1)
插入查询语法:
INSERT INTO yourtablename
(column1, column2, ... )
VALUES
(expression1, expression2, ... );
代码中的错误是table
将其重命名为相应的表名
喜欢 Customertable
INSERT INTO Customertable VALUES(3, 'Sachin', '120000', 'Nagaur')
更改表名:
使用sp_rename重命名表名:
EXEC sp_rename 'table', 'Customertable'
sp_rename old_table_name , new_table_name
ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME
仅适用于 Oracle DB 。
<强> Tutorial 强>
您可以在MSDN上找到有关此程序的文档。
在服务器资源管理器中,右键点击观看次数,然后点击新查询。
使用此代码重命名表:
EXEC sp_rename 'Table', 'NewName'
然后点击执行按钮 在服务器资源管理器中 5-30 秒后,点击刷新按钮。
答案 2 :(得分:0)
表是默认的SQL关键字。为您的表格指定具体名称。
INSERT INTO Customer VALUES(3, 'Sachin', '120000', 'Nagaur')
答案 3 :(得分:0)
你能改变你的名字吗?然后再试一次。因为table是默认关键字
INSERT INTO Tablename (col1,col2,col3,col4) VALUES(3, 'Sachin', '120000', 'Nagaur')";
答案 4 :(得分:0)
您不能将Table
关键字用作表名。你应该给出一些其他的名字。以下是SQL Server
中的关键字列表:http://technet.microsoft.com/en-us/library/aa238507%28v=sql.80%29.aspx
尝试此查询:
string query = "INSERT INTO yourTableName VALUES (3, 'Sachin', '120000', 'Nagaur')";
OR
string query = "INSERT INTO yourTableName(Column1, Column2, Column3, Column4) VALUES (3, 'Sachin', '120000', 'Nagaur')";
答案 5 :(得分:0)
实际上,除了其中一个答案都是正确的,如果你使用方括号[ ]
Create Table Table ( id int ) -- doesn't work!
然而,
Create Table [Table] ( id int ) -- works!
我不推荐这种做法,并同意最好使用"Table"
以外的名称,即使数据库表的方括号也是如此!
只是想指出,从技术上讲,实际上有一种方法可以使用SQL关键字&#39; table&#39;作为SQL Server中的表名。
答案 6 :(得分:0)
string query = "INSERT INTO [Table] VALUES(3, 'Sachin', '120000', 'Nagaur')";