iT邦幫忙

1

C#使用sql server 語法出問題

c#

小弟我是在寫code時遇到些問題,我是使用select * from table_name 語法去撈取database
在table_name,小弟利用變數取代(可以查詢我自訂的變數),無法撈到資料

sql="select * from env104 where '" + key_txt + "' = '" + name_txt + "' "
這樣無法撈到資料
但是:!!
"select * from env104 where 狀態= '" + name_txt + "' "
這樣可以

fillano iT邦超人 1 級 ‧ 2020-07-22 09:29:37 檢舉
...看不懂,請把程式碼補齊,放進程式碼區塊。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
海綿寶寶
iT邦大神 1 級 ‧ 2020-07-22 09:29:52
sql="select * from txt_search"

string index;

connect_sql_server(index);

改成

sql="select * from " + txt_search

connect_sql_server(sql);

試試看

fillano iT邦超人 1 級 ‧ 2020-07-22 09:31:24 檢舉

...你是通靈王XD,我還沒看出他要問什麼你就回答了

通靈王另有他人

您不知道現在就算看不懂問題也不能說出來...
/images/emoticon/emoticon25.gif

Sleep iT邦新手 5 級 ‧ 2020-07-22 11:09:30 檢舉

我已修正
我主要是那段程式碼是可行的嗎
##小弟已解決

0
ezdoc
iT邦新手 2 級 ‧ 2020-07-24 15:42:08

key_txt 應該是指欄位名吧
改成下面樣試試

sql="select * from env104 where [" + key_txt + "] = '" + name_txt + "' "

不過這樣組 SQL 字串,要留意 SQL Injection 問題。

小魚 iT邦大師 1 級 ‧ 2020-07-26 10:37:42 檢舉

好像是這樣沒錯,
不過之前測試欄位名稱好像可以使用雙引號 " 包起來,
不過雙引號又要配合逃脫符號了,
有點麻煩.

1
小魚
iT邦大師 1 級 ‧ 2020-07-26 10:35:10

為什麼有一種,
SQL Injection的既視感...

我要發表回答

立即登入回答