Avatar billede xitmorphiux Nybegynder
14. september 2004 - 19:25 Der er 14 kommentarer og
1 løsning

sql connection med c#

Hej folkens..

er der en der kan tolke dette script for mig ?
Jeg er lige begyndt at kode c#, men er ikke en
haj til det endnu. Jeg har tidligere kodet php,
men er blevet klogere :-) vs.net er sq cool....

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

namespace borup {

    /// <summary>
    /// Summary description for DBConnection.
    /// </summary>
    public class DBConnection {

        private String connectionString = "server=ADRESSE_PÅ_SQL_SERVER; database=DIT_DATABASE_NAVN; uid=DIT_USER_NAME; password=DIT_PASSWORD";

        public DBConnection() {

        }

        /// <summary>
        /// Denne metode returnere et dataset med informartion fra databasen
        /// </summary>
        /// <param name="query">Den SQL Query du vil execute i databasen</param>
        /// <returns>et dataset med informartion fra databasen</returns>
        public DataSet SQLSelect(String query) {
            SqlConnection  connection = new SqlConnection(connectionString);
            SqlDataAdapter adapter    = new SqlDataAdapter(query, connection);
            DataSet        dataset    = new DataSet();
            try {
                adapter.Fill(dataset, "0");
            }
            catch {
                // FEJL
            }
            finally {
                if(connection.State == ConnectionState.Open) {
                    connection.Close();
                }
            }
            return dataset;
        }

    }
}
Problemet er at jeg skal have en simpel tabel ud fra sql
serveren ved hjælp af dette script men jeg er kørt lidt surt
i det..

Scripted ligger som dbconnection.cs
og mit html ligger i vistabel.aspx
Jeg håber at i kan hjælpe mig til at komme lidt
videre med C#
Avatar billede arne_v Ekspert
14. september 2004 - 19:35 #1
using System; // den her skal vi altid have da det er de helt basale klasser
using System.Data; // generelle database klasser
using System.Data.SqlClient; // SQLServer specifikke database klasser

namespace borup { // vi putter det her i namespace borup

    public class DBConnection { // klassen hedder DBConnection

        // information for at connecte til SQLServer (MANGLER AT BLIVE RETTET TIL !)
        private String connectionString = "server=ADRESSE_PÅ_SQL_SERVER; database=DIT_DATABASE_NAVN; uid=DIT_USER_NAME; password=DIT_PASSWORD";

        public DBConnection() { // tom constructor => faktisk overflødig

        }

        public DataSet SQLSelect(String query) {
            SqlConnection  connection = new SqlConnection(connectionString); // connect
            SqlDataAdapter adapter    = new SqlDataAdapter(query, connection); // lav adapter som skal bruges til at fille data set med (query må kommer fra siden)
            DataSet        dataset    = new DataSet(); // lav data sæt (som vel skal vises på siden)
            try {
                adapter.Fill(dataset, "0"); // brug adapter d.v.s. query og connection til at læse ind i data sæt
            }
            catch {
                // FEJL
            }
            finally {
                if(connection.State == ConnectionState.Open) {
                    connection.Close(); // disconnect igen
                }
            }
            return dataset;
        }

    }
}
Avatar billede xitmorphiux Nybegynder
15. september 2004 - 11:42 #2
hvis jeg nu skal have dataen ud fra en tabel i dben kaldet Users.
hvor pladsere jeg min string så? og hvad skal jeg skrive? Jeg er
jo lige begyndt på C#.. Sorry... :-)

kender kun php...

ps: dette script skulle være det hurtigste til at connecte
til en db. Jeg har fundet en masse tourials, men deres codebehinds
er forfærdeligt lange... jeg skal bare hente en tabel fra min mysql server...
alt det andet kan jeg læse mig til. På forhånd 1000 tak for hjælpen.
Jeg lover at belønne den der kan hjælpe mig:-)
Avatar billede arne_v Ekspert
15. september 2004 - 11:46 #3
Hvis du kalder den metode med en query som indeholder

"SELECT * FROM Users"

så vil du vel få de data
Avatar billede arne_v Ekspert
15. september 2004 - 11:47 #4
Kører du op mod en MS SQLServer eller på mod en MySQL database ?

Din kode bruger MS SQLServer specifikke klasser.

Men du sagde MySQL i din kommentar.
Avatar billede xitmorphiux Nybegynder
15. september 2004 - 12:07 #5
jeg ved det faktisk ikke men den sql server jeg udvikler på, kører med MYadmin og det er vel kun mysql der bruger MYadmin... ikke?

ver. af myadmin: phpMyAdmin 2.5.4
Avatar billede arne_v Ekspert
15. september 2004 - 12:10 #6
Jo.

Så skal SqlConnection/SqlDataAdapter erstattes af enten OleDbConnection/OleDbDataAdapter
(hvis du bruger OLE DB driver) eller MySqlConnection/MySqlDataAdapter
(hvis du bruger ByteFX driver).

Jeg vil anbefale ByteFX.
Avatar billede xitmorphiux Nybegynder
15. september 2004 - 12:22 #7
ok hvor kan jeg få denne og hvad gør jeg ?
Avatar billede arne_v Ekspert
15. september 2004 - 12:27 #8
ByteFX kan hentes her:

http://www.bytefx.com/DotData.aspx
Avatar billede arne_v Ekspert
15. september 2004 - 12:29 #9
Her er et eksempel (console app som bruger datareader - ikke en ASP.NET som
bruger data set):

using System;
using System.Data;
using ByteFX.Data.MySqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;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 xitmorphiux Nybegynder
15. september 2004 - 18:28 #10
nu har jeg installeret det men jeg kan ikke rigtigt få det til at virke.. ?
Avatar billede arne_v Ekspert
15. september 2004 - 18:48 #11
Må jeg se noget kode igen ?
Avatar billede xitmorphiux Nybegynder
15. september 2004 - 20:19 #12
Jeg har installeret det der ByteFX, men hvad skal jeg gøre med det  =??? jeg har fundet en .dll fil i mappen???  hvad skal jeg gøre med den  ?
alt det der connection kode har jeg fattet nu, men...
Avatar billede arne_v Ekspert
15. september 2004 - 20:22 #13
ByteFX installation sprogrammet ligger selv DLL filen så den kan bruges.

Du skal bare using det rigtige namespace og bruge de rigtige klasser, så
skulle det gerne virke.
Avatar billede xitmorphiux Nybegynder
16. september 2004 - 12:48 #14
ok takker..
Avatar billede arne_v Ekspert
27. september 2004 - 00:22 #15
Så mangler du bare at acceptere svaret ...
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