Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在vb.net中为每个…下一个文本框使用_Html_Sql_Vb.net - Fatal编程技术网

Html 如何在vb.net中为每个…下一个文本框使用

Html 如何在vb.net中为每个…下一个文本框使用,html,sql,vb.net,Html,Sql,Vb.net,我想用在每个。。。。接下来通过textbox执行我的查询,所以我想在textbox中输入值,但我只得到textbox多个值中的一个值 Try For Each i In TextBox2.Text 'Create the SelectCommand. cmd = New OdbcCommand("select b.id_detail_polygon,b.mappe_3,b.type_d_affaire,b.consistance,b.nbr_borne

我想用在每个。。。。接下来通过textbox执行我的查询,所以我想在textbox中输入值,但我只得到textbox多个值中的一个值

Try

    For Each i In TextBox2.Text
        'Create the SelectCommand.

        cmd = New OdbcCommand("select b.id_detail_polygon,b.mappe_3,b.type_d_affaire,b.consistance,b.nbr_borne ,num_bornes,a.x,a.y,b.superficie_cs  from point a right join (select (dp).path[1] d1,(dp).path[2] d2,(dp).geom d3 from (select st_dumppoints(geom) dp from polygon where id_detail_polygon ='" & i & "')a)dptable on st_equals(a.geom,dptable.d3),polygon b where id_detail_polygon='" & i & "' limit ((select st_npoints(geom) from polygon where id_detail_polygon ='" & i & "')-1)", cnDb) ' & _
        adDb = New OdbcDataAdapter(cmd)
        adDb.Fill(dsDB, ComboBox1.Text)
        DataGridView2.DataSource = dsDB
        DataGridView2.DataMember = ComboBox1.Text
        DataGridView2.DataSource = dsDB.DefaultViewManager

    Next

Catch ex As Exception
     MsgBox("ERROR :" + ex.Message)
Finally

End Try

目前还不清楚文本框中的数据将如何工作。你需要更具体一些。它是用逗号分隔的吗?空格分隔

我假设逗号分隔。这段代码应该让您开始:

作为字符串的Dim id Dim sql作为字符串=_ 选择b.id\u detail\u polygon、b.mappe\u 3、b.type\u affaire、b.consistence、b.nbr\u bornes、num\u bornes、a.x、a.y、b.superficie\u cs&_ 从a点开始,_ 右键连接&_ 选择dp.path[1]d1、dp.path[2]d2、dp.geom d3和_ 来自,_ 选择st_Dumppoints Geom dp&_ 从多边形&_ 其中id_detail_polygon=?&_ a&_ st_equalsa.geom上的dptable,dptable.d3和 id_细节_多边形=?&_上的内部连接多边形b 限制从多边形中选择st_npointsgeom,其中id_detail_polygon=-1. DataGridView2.DataMember=ComboBox1.Text DataGridView2.DataSource=dsDB.DefaultViewManager 将字段用作新的TextFieldParserTextBox.Text_ cmd作为新的OdbcCommandsql、cnDb、_ 添加为新的OdbcDataAdaptercmd fields.Delimiters=新字符串{,} '这里猜测参数类型:id值通常是int cmd.Parameters.Add?,OdbcType.Int cmd.Parameters.Add?,OdbcType.Int cmd.Parameters.Add?,OdbcType.Int “我们事先知道只有一排 IDs=fields.ReadFields '但是循环该行中的所有字段 对于IDs.SelectFunctioni Integer.Parsei中的整数形式的每个ID cmd.Parameters0=ID cmd.Parameters1=ID cmd.Parameters2=ID adDb.FilldsDB,ComboBox1.Text DataGridView2.DataSource=dsDB 下一个Id 终端使用 但它仍然有一个重要的缺陷。datagridview将只显示文本框中最后一条记录的信息,因为循环的每次迭代都会覆盖上一次迭代的数据


在这个问题的背景下,我无法为你解决这个问题。这将要求您回到应用程序这一部分的整个设计的绘图板上。

请阅读并检查,还可以检查编程和msdn的基础知识,您将了解textbox控件返回其所有内容的字符串。请阅读并获取。也许您不必每周都创建新帐户TextBox2。文本将包含您在文本框中输入的整个字符串。您需要用逗号分隔,还需要添加一些逻辑来防止非整数值。阅读后,您将意识到For Each只对集合而不是字符串进行操作。textbox的.Text属性的输出是一个字符串,其中包含此时textbox的所有内容。研究字符串拆分函数,用逗号将字符串拆分为数组。然后记得清理输入并使用SQL参数来防止恶意输入的注入攻击。您的查询很难阅读,但粗略地看一眼,就会发现您可能有一个可怕的数据结构,如果您必须多次向查询中注入相同的值以获得正确的输出。要么这样,要么你没有正确使用连接。也可以考虑这是否可以通过一个IN子句在一个语句中完成,而不是在循环中运行多个查询。