2014-05-01 24 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