我希望你能帮助我的问题。我试图用数据表从我的数据库中填写表单。所有似乎工作正常,但我没有得到任何数据返回。谁能解释为什么?我看了调试,似乎没有错误,没有看起来像失败。这里的背后我的代码(vb.net)ASP.net datatable返回没有值
Imports System.Data
Imports System.Data.SqlClient
Imports System.Net.Mail
Partial Class _Default
Inherits System.Web.UI.Page
Private Sub getData(ByVal user As String)
Dim dt As New DataTable()
Dim constr As String = ConfigurationManager.ConnectionStrings("conn").ConnectionString
Dim connection As New SqlConnection(constr)
connection.Open()
Dim sqlCmd As New SqlCommand("SELECT * from tblContent WHERE CID = @ID", connection)
Dim sqlDa As New SqlDataAdapter(sqlCmd)
sqlCmd.Parameters.AddWithValue("@ID", Request.QueryString("ID"))
sqlDa.Fill(dt)
If dt.Rows.Count > 0 Then
ID.Text = dt.Rows(0)("CID").ToString
TextBox2.Text = dt.Rows(0)("Heading").ToString
TextBox1.Text = dt.Rows(0)("ContText").ToString
Label2.Text = dt.Rows(0)("Location").ToString
End If
connection.Close()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not Page.IsPostBack Then
getData(Me.User.Identity.Name)
End If
End Sub
表示层:
<h2><asp:Label ID="Label2" runat="server" Text=""></asp:Label></h2>
<asp:TextBox ID="ID" runat="server" Visible="false"> </asp:TextBox><br />
<asp:Label ID="Label3" runat="server" Text="Heading" CssClass="label"></asp:Label>
<asp:TextBox ID="TextBox2" TextMode="SingleLine" Text="" runat="server"></asp:TextBox><br />
<asp:Label ID="Label1" runat="server" Text="Content" CssClass="label"></asp:Label><br />
<asp:TextBox ID="TextBox1" TextMode="MultiLine" runat="server"></asp:TextBox>
我通过查询字符串穿过ID从另一页(ID = 5作为一个例子)。我的数据库中有数据,所有的标签/文本框都有正确的ID等。我只能看到有什么问题?
谢谢!
_“所有标签/文本框都有正确的ID等”_所以出了什么问题?你用过调试器吗?另外,您应该为连接和数据适配器使用'Using'语句。它确保连接关闭,即使出错。另外,方法应该以大写字母开始,如果它们不返回任何东西,它们不应该用'Get'开头。 – 2015-02-24 10:25:07
嗨蒂姆 - 没有数据返回填充文本框/标签。我试过调试器,但没有错误。你有没有你提到的使用陈述的例子?谢谢! – 2015-02-24 10:29:21
你可以把分析器到SQL服务器来检查它是否到达那里? – Amit 2015-02-24 11:04:07