Avatar billede lmdthel Nybegynder
25. december 2003 - 23:29 Der er 4 kommentarer og
1 løsning

Newbie hjælp til grundlæggende Csharp

Hej rødder

Jeg er desværre alt for ny til C# , så jeg har et lidt meget grundlæggende problem, men jeg vil prøve at forklare:

Jeg vil gerne lave en standard SQL forespørgsel til en MSSQL database, det virker også fint, men jeg vil gerne 1 metode som åbner databasen, og 1 hvor jeg henter data.

Noget i stilen med:

        public void connect()
        {

            //Connection string for Connector/ODBC 3.51
            string MyConString = "Driver={SQL Server};" + "SERVER=xxxxx;" + "DATABASE=xxx;" + "UID=xxx;" + "PASSWORD=;" + "OPTION=3";
                   
            //Connect to MySQL using Connector/ODBC
            OdbcConnection MyConnection = new OdbcConnection(MyConString);   
            MyConnection.Open();
 
            Console.WriteLine("\n !!! success, connected successfully !!!\n"); 


        }


public void fetch()
        {
//Fetch
                OdbcCommand MyCommand = new OdbcCommand("SELECT * FROM apz",MyConnection);
                OdbcDataReader MyDataReader;
                MyDataReader =  MyCommand.ExecuteReader();
                while (MyDataReader.Read())
                {
                   

               

                    if(string.Compare(MyConnection.Driver,"SQLSRV32.dll") == 1)
                    {
                       
                   
                        //Console.WriteLine(MyDataReader.GetString(0));
                        Console.WriteLine(MyDataReader[2]);

                    }
}
}
og så kalde metoderne med:

mycon t = new mycon();
    t.connect();
        t.fetch();



Men det virker SÅ IKKE.. men hvordan griber jeg det SÅ and ??

Åh ja fejlen er :
C:\My Documents\Visual Studio Projects\ConsoleApplication2\Class1.cs(49): The name 'MyConnection' does not exist in the class or namespace 'myodbc3.mycon'
Avatar billede arne_v Ekspert
25. december 2003 - 23:32 #1
OdbcConnection MyConnection = new OdbcConnection(MyConString);

laver MyConnection som en lokal variabel i connect metoden og den kan
derfor ikke bruges i fetch metoden.

Flyt den op som instans variabel !
Avatar billede arne_v Ekspert
25. december 2003 - 23:33 #2
NB: Når du bruger MS SQLServer så behøver du ikke bruge ODBC men
kan bruge SQLClient.

SQLConnection, SQLCommand og SQLDataReader
Avatar billede lmdthel Nybegynder
25. december 2003 - 23:34 #3
Ahhh jeg ser....det vil jeg prøve...

men æhhh hvordan skal det så se ud, kan du lave et hurtigt eksemple ??

/Thomas
Avatar billede arne_v Ekspert
25. december 2003 - 23:38 #4
Det er noget som:

        private OdbcConnection MyConnection;
        public void connect()
        {
            ...
            MyConnection = new OdbcConnection(MyConString); 
            ...
        }
        public void fetch()
        {
            ...
        }
Avatar billede arne_v Ekspert
25. december 2003 - 23:40 #5
Meget simpel SQLClient eksempel:

using System;
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()) {
                        int f1 = (int)rdr[0];
                        string f2 = (string)rdr[1];
                        Console.WriteLine(f1 + " " + f2);
                }
                con.Close();
        }
}
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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