Probleme avec Global.asax et SqlConnection

wezri Messages postés 1 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 30 octobre 2004 - 30 oct. 2004 à 17:37
memnochlabodotnet Messages postés 22 Date d'inscription samedi 27 novembre 2004 Statut Membre Dernière intervention 24 janvier 2005 - 29 nov. 2004 à 09:12
Bonjour tout le monde,

Je suis debutant en ASP.NET VB et j'ai un petit probleme avec ma page Global.asax

j essay de faire appel a une base de donnees pour peupler une liste asp:DropDownList

voici le code du fichier Global.asax :

<%@Import Namespace="Systeme.Data.SqlClient"%>
<script language="VB" runat="server">

Sub Session_Start(Sender As Object, E As EventArgs)

Dim myConnection As SqlConnection
myConnection = new SqlConnection()
myConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=SDS.mdb"
myConnection.Open()
Session("myConnection") = myConnection

End Sub

Sub Session_End(Sender As Object, E As EventArgs)

Dim myConnection As SqlConnection
myConnection = CType(Session("myConnection"),SqlConnection)
myConnection.Close()

End Sub

</script>

et voici celui de stock.aspx:

<%@ Page Language="VB" Debug="true" %>
<%@ Register TagPrefix="SDS" TagName="NavBar" Src="NavBar.ascx" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">

Sub ChargerListeFamilles()

Dim myConnection As SqlConnection
Dim myCommand As SqlCommand
Dim myReader As SqlReader
Dim SQL As String

myConnection = CType(Session("myConnection"),SqlConnection)

SQL = "SELECT * FROM FamilleProduit"
myCommand = new SqlCommand(SQL,myConnection)

myReader = myCommand.ExecuteReader()

ListeFamilles.DataSource = myReader
ListeFamilles.DataValueField = "ID_FamilleProduit"
ListeFamilles.DataTextField = "NomFamille"

ListeFamilles.DataBind()

myReader.Close()

End Sub

Sub Page_Load(Sender As Object, e As EventArgs)

ChargerListeFamilles()

End Sub

</script>
<html>
<head>
<title>Suivi des stocks</title>
<link href="SDS.css" type="text/css" rel="stylesheet"/>
</head>


<SDS:NavBar id="MyNavBar" SelectedIndex="1" runat="server"></SDS:NavBar>

<form runat="server">
Bienvenue dans le module de suivi des stocks

Famille,



</form>

</html>

et voici l erreur :

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: BC30002: Type 'SQLConnection' is not defined.

Source Error:



Line 4: Sub Session_Start(Sender As Object, E As EventArgs)
Line 5:
Line 6: Dim myConnection As New SQLConnection()
Line 7: myConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=SDS.mdb"
Line 8: myConnection.Open()


Source File: global.asax Line: 6

merci

Huummm....encore un bug

2 réponses

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
15 nov. 2004 à 02:13
Il ne faut jamais faire ca en ASP.NET.

La connexion au server SQL doit être la plus brève possible. Elle encadre bien souvent la requette elle même et est réouverte en cas de besoin.
Les problème de lenteur éventuelle liée à l'ouverture de la connexion en ASP3 n'existent plus .NET, le driver utilisé est natif SQL Server. De ce fait le mode conseillé est le suivant :

- On ouvre la connexion
- On exécute la requette
- On ferme la connexion immédiattement

Ceci afin de laisser la place à d'autres utilisateurs.

Donc ceci pour dire ne jamais mettre d'ouverture de connexion dans le global.asax.

Romelard Fabrice (Alias F___)
0
memnochlabodotnet Messages postés 22 Date d'inscription samedi 27 novembre 2004 Statut Membre Dernière intervention 24 janvier 2005
29 nov. 2004 à 09:12
Normal

tu utilise lle mauvais namespaces !

Ce n'est pas system.data.sqlclient qu'il faut utiliser, mais system.data.oledb.

system.data.sqlclient pour sql server
system.data.oledb pour ACcess

François Michael Dain

Site du labo-dotnet

Forum du labo-dotnet
0
Rejoignez-nous