Re: [問題] 變數宣告!!

看板C_Sharp作者 (NPP)時間13年前 (2010/12/16 02:56), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《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
我還以為原po連學號的型態都換成數字了...不過為什麼一定
12/16 04:33, 4F

12/16 04:34, , 5F
要換成數字?前面parse之後~在Sql又透過''+KeyIN換回字串~
12/16 04:34, 5F

12/16 04:35, , 6F
這...真這樣做的話~不是脫褲子放屁嗎?
12/16 04:35, 6F
文章代碼(AID): #1D2GzrqJ (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1D2GzrqJ (C_Sharp)