Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не получается и всё работать с БД. Помогите!!! / 3 сообщений из 3, страница 1 из 1
26.01.2004, 12:22
    #32387575
Arik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается и всё работать с БД. Помогите!!!
У меня возникла проблемма. Вот уже второй день не могу понять в чем дело. Пробовал создавать объект DataSet и заполнять его инфой из разных таблиц. Но почему-то у меня получался абсолютно пустой объект. Попробовал просто DataReader использовать, выдаёт тоже-самое. Говорит "Ну нет там никаких данных". Может я где по невнимательности что пропустил, или чегото не знаю. Вот простейший пример: База данных Northwind ПОМОГИТЕ КТОНТЬ ПЛИИЗ!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<%@ Page Language= "vb"  AutoEventWireup= "false"  Codebehind= "Sample.aspx.vb"  Inherits= "Sample.Inf"  codepage= 1251 %>
<HTML>
	<HEAD>
	</HEAD>
	<body MS_POSITIONING= "FlowLayout" >
		<form id= "Form1"  method= "post"  runat= "server" >
			<asp:Label id= "lblInfo"  runat= "server"  Width= "345px" ></asp:Label>
			<asp:DropDownList id= "lstProduct"  runat= "server"  Width= "172px"  AutoPostBack= "true" ></asp:DropDownList>
		</form>
	</body>
</HTML>


Файл Sample.aspx.vb:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient

Public Class Inf
    Inherits System.Web.UI.Page
    Protected WithEvents lstProduct As System.Web.UI.WebControls.DropDownList
    Protected WithEvents lblInfo As System.Web.UI.WebControls.Label
    Protected WithEvents lstCategory As System.Web.UI.WebControls.ListBox
    Protected WithEvents cmdUpdate As System.Web.UI.WebControls.Button
    Dim connectionString As String =  "Provider=SQLOLEDB.1 ;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=localhost;Use Procedure for Prepare= 1 ;Auto Translate=True;Packet Size= 4096 ;Workstation ID=SIPFORA;Use Encryption for Data=False;Tag with column collation when possible=False"

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        InitializeComponent()
    End Sub

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Me.IsPostBack = False Then
            Dim selectCommand As String =  "SELECT ProductName,ProductId FROM Products" 
            Dim con As New OleDbConnection(connectionString)
            Dim cmd As New OleDbCommand(selectCommand, con)

            con.Open()
            lstProduct.DataSource = cmd.ExecuteReader
            lstProduct.DataTextField =  "ProductName" 
            lstProduct.DataValueField =  "ProductId" 
            lstProduct.DataBind()

            con.Close()

            lstProduct.SelectedIndex = - 1 
        End If
    End Sub
    Private Sub lstProduct_SelectedItemChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstProduct.SelectedIndexChanged
        Dim productCommand As String =  "SELECT ProductName,QuantitYPerUnit, CategoryName "  & _
                         "FROM Products INNER JOIN Categories ON "  & _
                         "Categories.CategoryId=Products.CategoryId "  & _
                         "WHERE ProductId='" & Me.lstProduct.SelectedItem.Value & " '" 

        Dim con As New OleDbConnection(connectionString)
        Dim cmdProducts As New OleDbCommand(productCommand, con)

        con.Open()

        Dim reader As OleDbDataReader
        reader = cmdProducts.ExecuteReader

        Me.lblInfo.Text =  "<b>Продукт:</b> " 
        Me.lblInfo.Text &= reader( "ProductName" ) &  "<br>" 
        Me.lblInfo.Text &=  "<b>Вес/Количество:</b>" 
        Me.lblInfo.Text &= reader( "QuantityPerUnit" ) &  "<br>" 
        Me.lblInfo.Text &=  "<b>Категория:</b> "  & reader( "CategoryName" )

        con.Close()

    End Sub
End Class
...
Рейтинг: 0 / 0
27.01.2004, 00:42
    #32388464
V. Motchulsky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается и всё работать с БД. Помогите!!!
Просто ExecuteReader мало. Надо добавить reader.Read (счит. 1 запись).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
reader = cmdProducts.ExecuteReader
        If reader.Read Then
            Me.lblInfo.Text =  "<b>Продукт:</b> " 
            Me.lblInfo.Text &= reader( "ProductName" ) &  "<br>" 
            Me.lblInfo.Text &=  "<b>Вес/Количество:</b>" 
            Me.lblInfo.Text &= reader( "QuantityPerUnit" ) &  "<br>" 
            Me.lblInfo.Text &=  "<b>Категория:</b> "  & reader( "CategoryName" )
        End If
...
Рейтинг: 0 / 0
27.01.2004, 12:13
    #32388851
Arik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается и всё работать с БД. Помогите!!!
to V. Motchulsky

Видимо конец рабочего дня. Просто запарился!
Спасибо! :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не получается и всё работать с БД. Помогите!!! / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]