Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
Asp.net vb.net以减少在文本框中显示数据的代码_Asp.net_Vb.net_Coding Style - Fatal编程技术网

Asp.net vb.net以减少在文本框中显示数据的代码

Asp.net vb.net以减少在文本框中显示数据的代码,asp.net,vb.net,coding-style,Asp.net,Vb.net,Coding Style,在我创建的页面上,我有一个搜索工具,如果搜索医生号码,它将显示医生详细信息,一旦单击搜索按钮,结果将显示在文本框中(我不能使用GridView,因为不需要) 放置在搜索按钮上的代码示例 Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum LIKE '%" execute the query and get the result The result is converted to string and Execute Sca

在我创建的页面上,我有一个搜索工具,如果搜索医生号码,它将显示医生详细信息,一旦单击搜索按钮,结果将显示在文本框中(我不能使用GridView,因为不需要)

放置在搜索按钮上的代码示例

Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum LIKE '%"
execute the query and get the result
The result is converted to string and Execute Scalar is used
DocNum.Text = Result1


Query statement = "SELECT DocName FROM tblDoctor WHERE DNum LIKE '%"
execute the query and get the result
The result is converted to string and Execute Scalar is used
DocName.Text = Result2
等等。。。。还有14个其他文本框,我也希望在其中显示数据,因此在上面的结构之后有大量重复的代码行。有人能提出更好的方法吗

代码重复的另一个问题来自链接到它的prev页面。前面的页面包含医生详细信息的摘要,单击该行后,您将进入此页面,显示医生个人详细信息的更详细视图。选择的医生编号将使用查询字符串传递到更详细的视图,这样我就有了代码

所选医生的自动填充将填充标签 页面加载

Request the query string and store into variable dNum

Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum = " & dNum"
Get result from query convert to string and use execute scalar
lblDocNum.Text = Res1


Query statement = "SELECT DocNumber FROM tblDoctor WHERE DNum = " & dNum"
    Get result from query convert to string and use execute scalar
    lblDocNum.Text = Res1
等等

我所做的工作正常,但编码风格看起来很差。任何帮助都将不胜感激


谢谢

为什么不使用DataReader或DataSet或任何您喜欢的方法返回整个记录,然后从一列移动到另一列并以这种方式填充文本框?而不是一次返回一个值。

如果目标是更少的代码

SELECT * FROM tblDoctor WHERE xxx 
如上面Thyamine所建议的,将其放入DataTable或DataReader中

从那里,您还可以将文本框放在一个转发器中的HTML表中,并将其绑定到该数据表。您不必单独分配任何值,数据绑定将为您完成

我知道人们认为HTML表格是邪恶的,但这是排列标签的最简单方法,我想你也会想要

我还知道我建议的控件称为中继器,但您只有一条记录。如果你不告诉编译器,我就不会告诉你

从你的部分问题来看,听起来你想知道是否要在querystring中发送所有的信息,但这对我来说不是个好主意,因为它会让用户弄乱querystring中的数据


你没有提到-这些文本框是用来编辑的吗?中继器中的保存按钮可以轻松访问所有控件以生成更新语句。您也可以将“保存”按钮放在中继器外,并参考中继器的第一项来查找控件。

我使用了reader方法,这似乎缩短了我原来的代码,谢谢您的帮助。我不熟悉数据集,这就是为什么我没有使用它。谢谢你的回复,我的目标是减少代码。我的功能正常,但代码不是很好。我确实采纳了使用数据读取器的建议,因为我不熟悉数据表。HTML表格和转发器的建议听起来很好,但我确实理解了,读者更容易理解。我现在有了我的sql语句、读卡器项,我只是将它们分配给表中的标签。我正在查询字符串中传递文档编号。我在这里有一个编辑按钮,但它会将用户带到另一个有文本框的页面进行编辑。ThanksI似乎对表有问题,我在.aspx文件中使用html命令等,如果我在设计视图中展开它,它会在.aspx文件的顶部添加不同的样式(例如class=style3),而我从未创建过。这可能看起来很简单,但我是否以错误的方式创建表?您是否可以推荐一个好的教程来创建数据表?非常感谢。