Lire une table sql en asp.net - codage en VB.net

Bonjour,

Je débute dans l’asp.net et j’aimerais tout simplement lire une table contenant 2 enregistrements.

J’ai créé cette table à l’aide de l’interface de Visual Web Developper, cette table s’appelle Tabletexte et la BD database.mdf

L’exécution du site me donne des erreurs que j’ai du mal à cerner, voici mon code:


<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Page1.aspx.vb" Inherits="Dossier1_Page1" title="Untitled Page" %>
<%@ Import NameSpace="System.Data.SqlClient" %>

<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1">


<%
    Dim filePath = Server.MapPath("~/App_Data/Database.mdf")
    Dim strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
    Dim oConn As System.Data.SqlClient.SqlConnection
    oConn = New System.Data.SqlClient.SqlConnection()
    strConn = oConn.ConnectionString
    oConn.ConnectionString = strConn
    oConn.Open()

    Dim strSQL = "SELECT * FROM Tabletexte"
    Dim oCmd As New SqlCommand(strSQL, oConn)

    Dim oDataReader As SqlDataReader
        oDataReader = oCmd.ExecuteReader
        
    While oDataReader.Read()
        
        oDataReader.GetString(1)%> <br />
            
<%  End While
        oDataReader.close()
        oConn.close()%>


     </asp:Content>

Le champ à lire s’appelle “texte” et correspond à la 2ème colonne de ma table.

J’obtiens l’erreur suivante: La propriété ConnectionString n’a pas été initialisée.

Pouvez-vous m’expliquer comment faire?

Merci

salut!
comme ça, ça me semble plus correcte (et plus simple)

Dim oConn As New System.Data.SqlClient.SqlConnection(strConn)

à la place de

Dim oConn As System.Data.SqlClient.SqlConnection
oConn = New System.Data.SqlClient.SqlConnection()
strConn = oConn.ConnectionString
oConn.ConnectionString = strConn

parsque là tu mets oConn.ConnectionString qui est vide dans strConn puis tu remets strConn (qui est maintenant vide) dans oConn.ConnectionString :wink:

good luck

Merci pour ta réponse, j’ai remplacé mes 4 lignes par la ligne renseignée mais désormais j’obtiens une erreur que j’ai déjà eu auparavant qui est:
Mot clé non pris en charge : ‘provider’. pour la ligne remplaçante en question.

Suite à cette erreur et quelques recherches, j’avais modifié mon code mais apparemment, ce n’était pas la bonne solution donc je suis toujours bloqué.

Merci pour ton aide.

es-tu certain que ta chaîne de connexion est correcte ?

essai avec un truc genre :

Server=.\SQLExpress;Integrated Security=True;AttachDbFileName=~/App_Data/Database.mdf;User Instance=True

Oui, j’avais oublié de modifier celà car mon programme de base était fait pour une BD Access, donc j’ai mis la ligne:

Dim strConn = "Server=.\SQLExpress;Integrated Security=True;AttachDbFileName=~/App_Data/Database.mdf;User Instance=True"

Et surprise, une nouvelle erreur se produit! Décidemment, jvais jamais m’en sortir^^, j’obtiens ceci:
An attempt to attach an auto-named database for file ~/App_Data/Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

Pourtant, le chemin d’accès est correct mais je ne sais pas s’il y a des droits à configurer sur la bd en question, j’ai regardé un peu dans le web developper mais je ne vois rien de tel.

Merci pour votre aide.

je n’ai jamais utilisé access comme base de données :frowning:

si tu donnes un chemin incorrecte obtiens-tu la même erreur ? Est-ce que tu peux ouvrir la DB sans mot de passe ?

Sinon, si tu as visual studio 2005 express, une version sql server est fournie avec, pour te connecter ;

Data Source=addresse_db;Initial Catalog=nom_de_la_db;user=user_de_la_db;password=password_du_user

désolé de ne pas pouvoir aider plus

Bah justement, je n’utilise pas Access, j’utilise une table SqlClient.

J’ai juste précisé que pour lire ma table SqlClient, j’ai dû me baser sur un programme qui lisait une table Access et apparemment, il y a beaucoup de choses qui changent!

Pour répondre à tes questions, oui, j’ai la même erreur quand je met une table qui n’existe pas et il ne me semble pas qu’un mot de passe est nécessaire pour ouvrir la BDD.