C#到数据库(文本框)

时间:2015-04-09 16:22:29

标签: c# sql sql-server database

我想使用我的文本框将数据发送到我的数据库。

问题是他不知道loonberekening.tblWerknemer,我总是得到

  

' tblWerknemer'

附近的语法不正确

以下是我的表格的图片:http://gyazo.com/1a92845f51f56ef37e9ae3adf3f23a7c

string database = (@"Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\gip_stap_2\loonberekening.mdf;Integrated Security=True;Connect Timeout=30");
string werknemergegevens = "insert into loonberekening.tblWerknemer (naam,voornaam) values ('"+txtNaam.Text+"','"+txtVoornaam.Text+"');";
SqlConnection cnnLoonberekening = new SqlConnection(database);
SqlCommand scmdLoon = new SqlCommand(werknemergegevens, cnnLoonberekening);
SqlDataReader check;

try{
    cnnLoonberekening.Open();
    check = scmdLoon.ExecuteReader();
    MessageBox.Show("Opgeslagen");
    while (check.Read())
    {
    }
}catch(Exception ex)
{
    MessageBox.Show(ex.Message);
}

4 个答案:

答案 0 :(得分:0)

尝试"insert into loonberekening.dbo.tblWerknemer"

另外还要考虑值的参数化。

答案 1 :(得分:0)

;InitialCatalog=loonberekening添加到连接字符串的末尾以指定数据库或向查询添加模式名称:loonberekening.dbo.tblWerknemer

  • 当您正在尝试
  • 时,将无法从插页中读回任何内容
  • 您需要使用SQLCommand来防止在文本框中的任何位置使用'运行代码时会发生什么。 (SQL注入)

答案 2 :(得分:0)

尝试"插入到loonberekening.dbo.tblWerknemer" 要么 只有"插入tblWerknemer" 然后休息部分

答案 3 :(得分:0)

尝试将查询重写为insert into dbo.tblWerknemer ...,因为loonberekening是数据库名称,dbo.tblWerknemer是实际的表名

还尝试使用参数化查询,而不是直接传递值以防止sql注入。

http://www.dreamincode.net/forums/topic/268104-parameterizing-your-sql-queries-the-right-way-to-query-a-database/