Надеюсь, вы сможете помочь с моей проблемой. Я пытаюсь заполнить форму из моей базы данных, используя данные. Кажется, все работает нормально, но я не получаю никаких данных. Может ли кто-нибудь объяснить, почему? Я посмотрел на отладку, и, похоже, ошибок нет, и ничего не похоже на то, что он сработал. Вот мой код позади (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 в качестве примера). В моей базе данных есть данные, и все ярлыки/текстовые поля имеют правильные идентификаторы и т. Д. Я просто вижу, что не так?
Спасибо!
_ «все ярлыки/текстовые поля имеют правильные идентификаторы и т. Д.» _, Так что не так? Вы использовали отладчик? В стороне, вы должны использовать 'Using'-statement для вашего соединения и dataadapter. Он обеспечивает закрытие соединения даже при ошибке. Кроме того, методы должны начинаться с буквы верхнего регистра, и если они не возвращают ничего, они не должны начинать с 'Get'. –
Привет Тим - Нет данных, возвращаемых для заполнения текстовых полей/таблиц. Я попробовал отладчик, но ошибок не было. У вас есть пример используемого заявления, которое вы упомянули? Благодаря! –
Можете ли вы поставить профайлер на SQL-сервер, чтобы проверить, доходит ли он туда или нет? – Amit