我想通過與C#(而不是asp.net)通過Npqsql
使用PostgreSQL,我創建了一個名爲GenData
與SQL的表;PostgreSQL與C異常#
CREATE TABLE gendata
(
empname text NOT NULL,
pyrll text NOT NULL,
contracno text,
expird date,
dtbrth date,
plbrth text,
cid text,
passport text,
jndt date,
postn text,
dept text,
hmtwn text,
familymen numeric,
contno text,
CONSTRAINT gendata_pkey PRIMARY KEY (pyrll)
)
我試圖插入到表用下面的代碼:
String sql = String.Format("INSERT INTO GenData VALUES ({0},{1},{2},'{3}',{4},{5},{6},{7},{8},{9},{10},{11},{12},{13});"
,textBox1.Text
,textBox2.Text
,textBox3.Text
,textBox4.Text
,textBox5.Text
,textBox6.Text
,textBox7.Text
,textBox8.Text
,textBox9.Text
,textBox10.Text
,textBox11.Text
,textBox12.Text
,textBox13.Text
,textBox14.Text);
但我總是得到這樣一個例外:
你爲什麼只引用第四欄?我想你應該引用你的所有列,除了數字。 – martin
在進一步深入研究之前,您應該停下來仔細閱讀SQL注入攻擊。您不應該使用原始用戶輸入並將其直接提供給SQL語句,而應該使用參數化查詢。 –
我知道SQL注入和參數化語句,我只是爲了測試目的而做的。 – Ahmed