Re: [問題] 變數宣告!!
※ 引述《kidnaper (弗卡夏)》之銘言:
: 小弟日前買了C#開始學習
: 最近都在跟學長學習 資料庫(SQL)的應用!!
: 今天在練習刪除功能時候遇到一個問題
: {
: string selectCmb = "";
: string KeyIN="";
: KeyIN = textBox2.Text;
: selectCmb = "DELETE FROM data WHERE 學號 = '"+KeyIN+"'";
: dataGridView1.DataSource = Dummy_DataTable(selectCmb, "data");
: dataGridView1.AutoResizeColumns();
: }
: 上述是以往學長們用的刪除指令!! DataGridView1 放入的是Access類型檔案
: 如今我在Access檔案裡把學號的欄位改成數字類型的資料
: 便出現"準則運算式的資料類型不符合" 我們就試著把改成:
: 第二行 int KeyIN;
: 第三行 KeyIN=textBox2.int.parse;
: 第四行後段 selectCmb= "........學號=KeyIN";
: 還是讀不到textBox2輸入的數字!!(我試了好幾種方法)
: 請問我該怎麼把KeyIN這個變數宣告為數字類型!!
: 然後是還有那邊需要被何修改的!!
: 煩請幫忙解答 謝謝大家!!
你把 SQL跟C#搞混了 ,對於資料庫而言,你傳入的就是SQL 指令,全都都是字串
所以KeyIn是String類別完全合理 並不需要去更動 除非為了C#程式需求才需存成int
但最終轉換成sql語法時仍需轉換回String
所以原始的部分完全不用改......只需更動selectCmb一點點
你的錯誤點應該是SQL中 ''的使用代表是字串
所以學號(int型態) = '某個數字'(String型態) 會出錯
selectCmb = "DELETE FROM data WHERE 學號 = '"+KeyIN+"'";
你把 ' '兩點移除掉看看
selectCmb = "DELETE FROM data WHERE 學號 = " + KeyIN;
這樣應該就對了....
--
我很弱 如果哪裡錯還請指教我 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.231.89.25
推
12/16 03:00, , 1F
12/16 03:00, 1F
推
12/16 03:06, , 2F
12/16 03:06, 2F
→
12/16 03:06, , 3F
12/16 03:06, 3F
→
12/16 04:33, , 4F
12/16 04:33, 4F
→
12/16 04:34, , 5F
12/16 04:34, 5F
→
12/16 04:35, , 6F
12/16 04:35, 6F
討論串 (同標題文章)