OVH Cloud OVH Cloud

DataReader

1 réponse
Avatar
Max
Cette Page fonctionne. Mais savoir s'il est possible d'appeler la fonction
directement sans passer par le déclaration d'un Data.IDataReader. En d'autre
terme, quleque chose du style :
<%=email(ident.Text).read().getString(0)%>

<%@ Page Language="VB" %>
<script runat="server">

' Insert page code here
'
dim ident,adrmail As New TextBox()
dim x as System.Data.IDataReader

sub Page_Load()
ident.Text=request("ident")
x=email(ident.Text)
x.read()
adrmail.Text=x.GetString(1)
end sub


Function email(ByVal ident As String) As System.Data.IDataReader
Dim connectionString As String =
"Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data
Source=C:\Inetpub\wwwr"& _
"oot\NamoV3\Bases\base.mdb"
Dim dbConnection As System.Data.IDbConnection = New
System.Data.OleDb.OleDbConnection(connectionString)

Dim queryString As String = "SELECT [users].[ident],
[users].[adrmail1] FROM [users] WHERE ([users].[ident] = "& _
"@ident)"
Dim dbCommand As System.Data.IDbCommand = New
System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_ident As System.Data.IDataParameter = New
System.Data.OleDb.OleDbParameter
dbParam_ident.ParameterName = "@ident"
dbParam_ident.Value = ident
dbParam_ident.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_ident)

dbConnection.Open
Dim dataReader As System.Data.IDataReader =
dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)

Return dataReader
End Function


</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p align="center">
Bienvenue à : <%=adrmail.Text%>
<!-- Insert content here -->

</p>
</form>
</body>
</html>

1 réponse

Avatar
Lionel LASKE
Non, en ADO.NET, les seules manières de récupérer des valeurs sont:
- Par l'intermédiaire d'un DataReader comme dans ton cas,
- Par data binding (c'est à dire remplissage automatique d'un contrôle à
l'écran par une requête) via un DataAdapter. Je ne pense pas que cela
t'aidera beaucoup ici.

Lionel.


"Max" a écrit dans le message de news:
Oz$ciIu$
Cette Page fonctionne. Mais savoir s'il est possible d'appeler la fonction
directement sans passer par le déclaration d'un Data.IDataReader. En
d'autre terme, quleque chose du style :
<%=email(ident.Text).read().getString(0)%>

<%@ Page Language="VB" %>
<script runat="server">

' Insert page code here
'
dim ident,adrmail As New TextBox()
dim x as System.Data.IDataReader

sub Page_Load()
ident.Text=request("ident")
x=email(ident.Text)
x.read()
adrmail.Text=x.GetString(1)
end sub


Function email(ByVal ident As String) As System.Data.IDataReader
Dim connectionString As String =
"Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data
Source=C:Inetpubwwwr"& _
"ootNamoV3Basesbase.mdb"
Dim dbConnection As System.Data.IDbConnection = New
System.Data.OleDb.OleDbConnection(connectionString)

Dim queryString As String = "SELECT [users].[ident],
[users].[adrmail1] FROM [users] WHERE ([users].[ident] = "& _
"@ident)"
Dim dbCommand As System.Data.IDbCommand = New
System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_ident As System.Data.IDataParameter = New
System.Data.OleDb.OleDbParameter
dbParam_ident.ParameterName = "@ident"
dbParam_ident.Value = ident
dbParam_ident.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_ident)

dbConnection.Open
Dim dataReader As System.Data.IDataReader =
dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)

Return dataReader
End Function


</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p align="center">
Bienvenue à : <%­rmail.Text%>
<!-- Insert content here -->

</p>
</form>
</body>
</html>