2014-05-01 81 views
0

基本上我想要做的是有一個表格,我需要填寫一個特定的數字。 發生這種情況時,我想將該輸入注入到我的查詢命令中。使用表單輸入VBNET顯示具體查詢

然後它會顯示查詢結果(可能在表中)。

我對vbnet(以及一般編碼)相當陌生。 我能夠讓我的代碼使用經典的ASP,但我不知道vbnet的正確術語。

根據我之前找到的其中一個搜索,這是我迄今爲止所做的。可能沒有道理,但我正在努力盡我所能。

Dim myConn As New SqlConnection(serverinfo) 
Dim myTable As New DataTable() 
Dim myCmd As New SqlCommand() 
myCmd.Connection = myConn 
myCmd.CommandText = "SELECT * FROM table WHERE x="+ x.Text+ " AND y="+ y.Text+ " AND z="+ z.Text+ " AND w="+ w.Text 

Dim myAdapater As New SqlDataAdapter(myCmd) 
myAdapter.Fill(myTable) 

DataGridView2.DataSource = myTable 
results.InnerHTML=displayoutput 

-all變量應該是整數。 -displayoutput應該是列標題部分。 我是否正確使用id屬性從表單中抓取它們?

+0

請勿直接使用表單輸入值。它會導致SQL注入攻擊。 – Jumpei

回答

0

此代碼將訪問數據庫併爲您填充GridView

using conn as new sqlconnection("connstring"), comm as new sqlcommand("",conn) 
    conn.open 
    comm.commandtype = commandtype.text 
    comm.commandtext = "SELECT * FROM table WHERE [email protected] AND [email protected] AND [email protected] AND [email protected]" 

    comm.parameters.addwithvalue("@w",w.text) 
    comm.parameters.addwithvalue("@x",x.text) 
    comm.parameters.addwithvalue("@y",y.text) 
    comm.parameters.addwithvalue("@z",z.text) 

    Dim dt as new datatable 
    dim sa as new sqldataadapter() 
    sa.selectcommand = comm 
    sa.fill(ds) 

    DataGridView2.DataSource = ds 
    DataGridView2.databind 
end using 

在您GridViewAutoGenerateColumns屬性設置爲true和您所選擇的列就會出現。

如果您使用的是Winforms,您可能不需要數據綁定位,我不記得了。

+0

所以在創建子Page_Load並關閉它後,我會讓另一個子說... 'sub findacct(byval sender as object,byval e as event.args)' 我把你在這裏提供的代碼? '結束sub' 基本上我的網頁的底部與形式的HTML ...沿 '
' 是構成部分,即使正確還是我錯了代碼? 感謝您的幫助! – cjros