Avatar billede webudvikleren Nybegynder
17. marts 2006 - 20:29 Der er 21 kommentarer og
1 løsning

Hente fra database.

God aften.
Jeg har tideligt brugt .txt filer i vb.net og vil nu gerne til at arbejde med MySQL server fremover.

Men nu er mit spørgsmål  - hvordan "connecter" man til min localhost database ( som hører til min apache! ) ?

Hvis nu jeg vil hente:
SELECT * FROM invitationer GROUP BY navn DESC

Også udskrive "navn" i et msgbox - hvordan gøres dette?

I min installition installerede jeg noget med SQL server 2005, men det ved jeg intet om.

En der kan hjælpe mig på vej til at "connecte" til min localserver database?

På forhånd tak.
Avatar billede arne_v Ekspert
17. marts 2006 - 21:01 #1
MySQL ?

installer MySQL Connector for .NET

lav en MySqlConnection med den rigtige connection string

lav en MysqlCommand med din MySqlConnection og din SQL string

kald ExecuteDataReader og laes gennem den og vis dine data
Avatar billede arne_v Ekspert
17. marts 2006 - 21:03 #2
simpelt eksempel (console app):

using System;
using System.Data;
using MySql.Data.MySqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=loc
alhost;User Id=;Password=");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT * FROM T1", con);
        MySqlDataReader rdr = sel.ExecuteReader();
        while(rdr.Read()) {
            Console.WriteLine(rdr[0] + " " + rdr[1]);
        }
        rdr.Close();
        con.Close();
    }
}
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 21:34 #3
"Installere MySQL connector for .NET"

Microsoft  SQL server 2005 ?

Hvis nej - hvor henter jeg det så?


Ligenu får jeg følgende fejl:

Error    1    'Sub Main' was not found in 'ConsoleApplication1.Module1'.   
Error    2    Statement cannot appear outside of a method body.        1    1    ConsoleApplication1
Error    3    Statement cannot appear outside of a method body.        2    1    ConsoleApplication1
Error    4    Statement cannot appear outside of a method body.        3    1    ConsoleApplication1
Error    5    'Class' statement must end with a matching 'End Class'.        5    1    ConsoleApplication1
Error    6    Syntax error.        6    1    ConsoleApplication1
Error    7    'Static' is not valid on a member variable declaration.        7    12    ConsoleApplication1
Error    8    End of statement expected.        7    24    ConsoleApplication1
Error    9    Syntax error.        8    5    ConsoleApplication1
Error    10    Declaration expected.        9    9    ConsoleApplication1
Error    11    Declaration expected.        10    1    ConsoleApplication1
Error    12    Declaration expected.        11    9    ConsoleApplication1
Error    13    Declaration expected.        12    9    ConsoleApplication1
Error    14    Declaration expected.        13    9    ConsoleApplication1
Error    15    Statement cannot appear outside of a method body.        14    9    ConsoleApplication1
Error    16    Declaration expected.        15    13    ConsoleApplication1
Error    17    Syntax error.        16    9    ConsoleApplication1
Error    18    Declaration expected.        17    9    ConsoleApplication1
Error    19    Declaration expected.        18    9    ConsoleApplication1
Error    20    Syntax error.        19    5    ConsoleApplication1
Error    21    Syntax error.        20    1    ConsoleApplication1
Avatar billede arne_v Ekspert
17. marts 2006 - 21:50 #4
Hvis det ikke er MySQL men SqlServer saa skal du ikke installere noget, fordi
SQL Server er med i .NET

Og koden skal se ud som:

using System;
using System.Data;
using System.Data.SqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        SqlConnection con = new SqlConnection("server=ARNEPC2;Integrated Security=SSPI;database=Test");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT * FROM T1", con);
        SqlDataReader rdr = cmd.ExecuteReader();
        while(rdr.Read())
        {
            Console.WriteLine(rdr[0] + " " + rdr[1]);
        }
        rdr.Close();
        con.Close();
    }
}
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 22:43 #5
Hej Arne.
Nu har jeg kigget på din kode, den ser jo dejlig simpel ud.

Men får dog stadig fejlmeddelser når jeg prøver at kompile!
Kan heller ikke forstå når jeg laver en console app så starter koden med Module, og det har du ikke med i dit eksempel?

Får disse fejl:

Error    1    'Sub Main' was not found in 'ConsoleApplication1.Module1'.   
Error    2    Statement cannot appear outside of a method body.        1    1    ConsoleApplication1
Error    3    Statement cannot appear outside of a method body.        2    1    ConsoleApplication1
Error    4    Statement cannot appear outside of a method body.        3    1    ConsoleApplication1
Error    5    'Class' statement must end with a matching 'End Class'.        5    1    ConsoleApplication1
Error    6    Syntax error.        6    1    ConsoleApplication1
Error    7    'Static' is not valid on a member variable declaration.        7    12    ConsoleApplication1
Error    8    End of statement expected.        7    24    ConsoleApplication1
Error    9    Syntax error.        8    5    ConsoleApplication1
Error    10    Declaration expected.        9    9    ConsoleApplication1
Error    11    Declaration expected.        10    9    ConsoleApplication1
Error    12    Declaration expected.        11    9    ConsoleApplication1
Error    13    Declaration expected.        12    9    ConsoleApplication1
Error    14    Statement cannot appear outside of a method body.        13    9    ConsoleApplication1
Error    15    Syntax error.        14    9    ConsoleApplication1
Error    16    Declaration expected.        15    13    ConsoleApplication1
Error    17    Syntax error.        16    9    ConsoleApplication1
Error    18    Declaration expected.        17    9    ConsoleApplication1
Error    19    Declaration expected.        18    9    ConsoleApplication1
Error    20    Syntax error.        19    5    ConsoleApplication1
Error    21    Syntax error.        20    1    ConsoleApplication1
Avatar billede arne_v Ekspert
17. marts 2006 - 22:51 #6
jeg sidder og snork sover

du vil have VB.NET kode jeg postede C# kode

i VB.NET er syntaxen:

Imports System
Imports System.Data
Imports System.Data.SqlClient

Class MainClass
    Public Shared Sub Main(ByVal args As String())
        Dim con As SqlConnection = New SqlConnection("server=ARNEPC2;Integrated Security=SSPI;database=Test")
        con.Open
        Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM T1", con)
        Dim rdr As SqlDataReader = cmd.ExecuteReader
        While rdr.Read
            Console.WriteLine(rdr(0) & " " & rdr(1))
        End While
        rdr.Close
        con.Close
    End Sub
End Class
Avatar billede arne_v Ekspert
17. marts 2006 - 22:52 #7
jeg undskylder for den lille ups'er

koden er ret simpel, men det er ogsaa den simplest mulige kode
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 22:53 #8
Okay, det ser fint ud.
Men nu spørger jeg lige:
server=ARNEPC2

Det skal være server=localhost i mit tilfælde? :-)

Integrated Security, hvad er det?

database er vel min database? :-)

Skal man slet ikke vælge password og brugernavn til at logge ind?

Nu udskriver min kode kun denne fejl:

Error    1    'Sub Main' was not found in 'ConsoleApplication1.Module1'.
Avatar billede arne_v Ekspert
17. marts 2006 - 22:56 #9
normalt angiver man med SQLServer PC navn og ikke localhost

integrated security er en feature i SQLServer hvor den bruger dit windows login til at
logge dig i databasen (og derfor skal man ikke angive username og password)

hvis det er MySQL saa vil du angive localhost og brugernavn/password
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 22:58 #10
Hey - vent nu lige lidt!
Er der forskel på SQL og MySQL?
Avatar billede arne_v Ekspert
17. marts 2006 - 23:08 #11
SQL = sprog til database forespoergsler og opdateringer

SQLServer = database fra Microsoft

MySQL = open source database
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 23:26 #12
Har en database, som jeg bruger til udtræk i php også videre.
Nu vil jeg benytte den til udtræk i vb.net - hvad hedder det så?

Og hvordan skal det så se ud?

Undskyld mine mange spørgsmål!
Avatar billede arne_v Ekspert
17. marts 2006 - 23:41 #13
Hvis du bruger PHP saa er det sandsyneligvis MYSQL.

Kalder du mysql_connect, mysql?query etc. ?
Avatar billede arne_v Ekspert
17. marts 2006 - 23:42 #14
MySQL programmet i VB.NET udgave ser ud som:

Imports System
Imports System.Data
Imports MySql.Data.MySqlClient

Class MainClass
    Public Shared Sub Main(ByVal args As String())
        Dim con As MySqlConnection = New MySqlConnection ("Database=Test;Data So
urce=localhost;User Id=;Password=")
        con.Open
        Dim sel As MySqlCommand = New MySqlCommand ("SELECT * FROM T1", con)
        Dim rdr As MySqlDataReader = sel.ExecuteReader
        While rdr.Read
            Dim f1 As Integer = rdr(0)
            Dim f2 As String = rdr(1)
            Console.WriteLine(f1 & " " & f2)
        End While
        rdr.Close
        con.Close
    End Sub
End Class
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 23:42 #15
Ja i PHP.
Nu vil jeg hente fra tabellen "invitationer"  ind til vb.net, hvis du forstår mig korrekt.
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 23:44 #16
Tror ikke jeg har det installeret, for får disse fejl:

Error    1    'Sub Main' was not found in 'ConsoleApplication1.Module1'.   
Warning    2    Namespace or type specified in the Imports 'MySql.Data.MySqlClient' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.        3    9    ConsoleApplication1
Error    3    String constants must end with a double quote.        7    59    ConsoleApplication1
Error    4    Name 'urce' is not declared.        8    1    ConsoleApplication1
Error    5    Name 'localhost' is not declared.        8    6    ConsoleApplication1
Error    6    Character is not valid.        8    15    ConsoleApplication1
Error    7    Name 'con' is not declared.        9    9    ConsoleApplication1
Error    8    Type 'MySqlCommand' is not defined.        10    20    ConsoleApplication1
Error    9    Type 'MySqlDataReader' is not defined.        11    20    ConsoleApplication1
Error    10    Name 'con' is not declared.        18    9    ConsoleApplication1
Avatar billede arne_v Ekspert
17. marts 2006 - 23:47 #17
og man laerer ikke noget hvis man ikke spoerger
Avatar billede arne_v Ekspert
17. marts 2006 - 23:48 #18
du skal have installeret http://dev.mysql.com/downloads/connector/net/1.0.html
og have en reference til MySql.Data.dll
Avatar billede arne_v Ekspert
17. marts 2006 - 23:51 #19
Dim con As MySqlConnection = New MySqlConnection ("Database=Test;Data So
urce=localhost;User Id=;Password=")


skal naturligvis vaere en linie:

        Dim con As MySqlConnection = New MySqlConnection ("Database=Test;Data Source=localhost;User Id=;Password=")
Avatar billede webudvikleren Nybegynder
17. marts 2006 - 23:52 #20
Tak Arne - smid svar!
Tak for din gode indsats
Avatar billede arne_v Ekspert
18. marts 2006 - 01:07 #21
ok

er du komet igang ?
Avatar billede webudvikleren Nybegynder
18. marts 2006 - 01:18 #22
Jeps! Endnu engang tak!
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