Avatar billede larsny Nybegynder
17. september 2004 - 18:58 Der er 14 kommentarer og
1 løsning

asp.net(c#) og MySQL

Jeg har denne kode:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Odbc" %>

<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object semder, EventArgs e) {
   
    string strConn = "Driver={MySQL ODBC 3.51 Driver}; server=localhost; uid=root; pwd=; database=calendar";
    SqlConnection dbConn = new SqlConnection(strConn);
    dbConn.Open();

    string strSQL = "SELECT COUNT(*) FROM calendar";
    SqlCommand sqlCmd = new SqlCommand(strSQL, dbConn);
    object objResult = sqlCmd.ExecuteScalar();
   
    dbConn.Close();
    Message.Text = objResult.ToString();
}
---OSV.---

Jeg får denne fejl:
Fejlmeddelelse om kompileringsfunktion: CS0246: Typen eller navneområdenavnet 'SqlConnection' kunne ikke findes (mangler der et 'using'-direktiv eller en assemblyreference?)

Kildefejl:



Linje 10:    
Linje 11:     string strConn = "Driver={MySQL ODBC 3.51 Driver}; server=localhost; uid=root; pwd=; database=calendar";
Linje 12:     SqlConnection dbConn = new SqlConnection(strConn);
Linje 13:     dbConn.Open();
Linje 14:
------

Nu har jeg arbejdet længe og prøvet utallige metoder til at få det til at virke...

Er der nogen der kan sige hvad jeg gør galt???
Min db hedder "calendar" og tabellen hedder "calendar"...

og nu jeg er her: hvordan laver jeg en løkke der udskriver alle data'er i collonen "subject"???

På forhånd tak!

vh Lars Nymand
Avatar billede arne_v Ekspert
17. september 2004 - 19:03 #1
SqlConnection ligger i System.Data.SqlClient, men du skal ikke bruge den - du
skal bruge OdbcConnection (SqlConnection er til MS SQLServer).
Avatar billede arne_v Ekspert
17. september 2004 - 19:04 #2
Og tilsvarende skal SqlCommand rettes til OdbcCommand.
Avatar billede arne_v Ekspert
17. september 2004 - 19:05 #3
Og overvej iøvrigt at skifte fra ODBC til ByteFX .NET provider for MySQL.
Avatar billede larsny Nybegynder
17. september 2004 - 19:09 #4
jeg er helt ny til asp.net... så jeg venter lidt med det...
Kunne godt tænke mig at gå over til MSSQL men har ikke kunnet finde et program så jeg kan lave databaser og tabeller i det... lige som CC til MySQL...
Avatar billede arne_v Ekspert
17. september 2004 - 19:11 #5
De versioner af SQLServer som koster penge kommer med et glimrende værktøj
Enterprise Manager.

Den gratis version gør ikke.
Avatar billede arne_v Ekspert
17. september 2004 - 19:11 #6
Og et svar fra mig.
Avatar billede larsny Nybegynder
17. september 2004 - 19:29 #7
hvordan henter jeg så data'erne fra colonnen "subject"??
Avatar billede arne_v Ekspert
17. september 2004 - 19:35 #8
F.eks.:

OdbcDataReader reader = sqlCmd.ExecuteReader();
while(reader.Read())
{
    string subject = reader.GetString(reader.GetOrdinal("subject"));
    // brug subject
}
Avatar billede larsny Nybegynder
18. september 2004 - 10:27 #9
Hej Arne V
Det er rart at du vil hjælpe... jeg har lige et spørgsmål til :)
Hvordan sender jeg indholdet til et Label?

jeg har:
Message.Text = subject;

Men får denne fejl:
CS0103: Navnet 'subject' findes ikke i klassen eller navneområdet 'ASP.default_aspx'
Avatar billede arne_v Ekspert
18. september 2004 - 10:36 #10
Det er fordi subject i mit eksempel er erklæret inden i while løkken.

OdbcDataReader reader = sqlCmd.ExecuteReader();
while(reader.Read())
{
    string subject = reader.GetString(reader.GetOrdinal("subject"));
    Message.Text = subject;
}

eller

string subject = "";
OdbcDataReader reader = sqlCmd.ExecuteReader();
while(reader.Read())
{
    subject = reader.GetString(reader.GetOrdinal("subject"));
}
Message.Text = subject;
Avatar billede larsny Nybegynder
18. september 2004 - 10:41 #11
jeg har kopieret det nederste eksempel og får nu denne fejl:
System.IndexOutOfRangeException: subject

Der er lagt et indlæg i db'en
Avatar billede arne_v Ekspert
18. september 2004 - 10:57 #12
Eksisterer der et felt ved navn subject ?
Avatar billede arne_v Ekspert
18. september 2004 - 10:58 #13
Prøv evt.:

string subject = "";
OdbcDataReader reader = sqlCmd.ExecuteReader();
int subjix = reader.GetOrdinal("subject");
// check værdien af subjix
while(reader.Read())
{
    subject = reader.GetString(subjix);
}
Message.Text = subject;
Avatar billede larsny Nybegynder
18. september 2004 - 11:12 #14
jeg får den samme fejl:
Serverfejl i programmet '/'.
--------------------------------------------------------------------------------

subject
Beskrivelse: Der opstod en ikke-afviklet undtagelse under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden.

Detaljer om undtagelse: System.IndexOutOfRangeException: subject

Kildefejl:
Avatar billede arne_v Ekspert
18. september 2004 - 13:03 #15
Det lyder altså meget som at der ikke er en kolonne subject i den query !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
42 min siden Problemer med C5 Af dot-tullberg@outlook.dk i Økonomiprogrammer
I dag 12:28 Talkolonne Af hkv i Excel
I går 21:15 Sortering i Stifinder Af 1Dorte i Windows
I går 16:33 Hjælp til tricky VBA-kode Af flras i Excel
18/1114:00 Ny outlook Af Butterfly i Excel