12. april 2004 - 18:18Der er
32 kommentarer og 2 løsninger
mySQL class - hvordan
Er der en der vil lave en class, der udfører en query på en mySQL db?
Jeg er ny i C#, så det må ikke være for svært at implementere i mit program
Jeg havde tænke noget ligende dette: ------------------------------------------------- public DB(string query) // Klassen { Kalde op; Lave Query; Lukke igen; }
db("Select * from test") // Kaldet for at udføre query ------------------------------------------------------------
Ps. Jeg har kigget på nettet, og kan ikke gennemskue det. Jeg syntes det virker som om jeg skal have installere myODBC på den maskine hvor mit programmet skal køre på. Kan det passe?? ( myODBC er selvføldig på DB serveren. )
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
det er ikke meget galt... :) husk lige at skrive din conn-string enten i web-config'en, ellers vil klassen her ikke kunne åbne din database. Det kan forresten være du lige skulle have koden til DataStoreExcption-klassen, som kun wrapper MySqlException-klassen for at gøre hele mit frameworket mindre afhængigt af hvilken database man bruger.
using System;
namespace MPAConsult.ToolBox.Data { /// <summary> /// Summary description for DataStoreException. /// </summary> public class DataStoreException : System.SystemException { public DataStoreException(string message, Exception exc) : base(message, exc) { }
public DataStoreException(string message) : base(message) { }
Jeg har kigget meget på nettet, og på det du har lavet til mig, og har lige installeret ODBC.NET, men jeg kan ikke finde hovede/hale i det
Jeg er slet ikke så langt fremme med C# at jeg kan lave klippe/klistre, løse problemer der er mere end en en manglende ";" - ha ha
Kunne du ikke lave dit eksempel projekt, som en zip, og så maile mig den? Det behøver ikke være noget særligt, bare der er en kommentar, der hvor jeg skal skrive ip'en på DB serveren, og db navn.
Jeg er nød til at have noget der virker, mens jeg får mit eget projekt til at virke Jeg vil gerne give 40 point oveni hvis..
Jeg har hentet ByteFX fra deres hjemmeside, og installeret det. alt ok.
Men hvordan importerer jeg namespacet/dll'en i c#. Når jeg kører arne_v's eksempel, findes namespacet ikke. Jeg har set et eller andet sted, at man skal "linke" nye .dll'er for de kan bruges, men jeg kan ikke finde det igen
Og cyberfessor - Dit eksempel, kan jeg først prøve mandag. Jeg kan ikke køre dit eksempel, da min C# er en ver. 2002 beta, ikke vil læse det. :-( Men jeg har bestilt en ver. 2003 , som kommer mandag. :-)
An unhandled exception of type 'ByteFX.Data.MySqlClient.MySqlException' occurred in bytefx.mysqlclient.dll
Additional information: Unable to connect to any of the specified MySQL hosts
Databasen virker!!.
Jeg kan connecte med en mySQL frontend og se databasen - Jeg bruger de samme connection properties i C#, men der fejlen så Jeg har endda prøvet at installere mySQL på denne maskine, så den var lokalt, men det gav samme resultat.
using System; using System.Data; using ByteFX.Data.MySqlClient;
class MainClass { public static void Main(string[] args) { string myConnectionString = "Database=test;Data Source=192.168.1.25;User Id=root;";
MySqlConnection con = new MySqlConnection(myConnectionString); con.Open(); ( Program stop her -> ) 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(); } }
Har du et bud på hvorfor, denne fejl? Jeg er sikker på at databasen virker.
Har lige prøvet at skrive eksemplet lidt om, men det giver samme fejl.
using System; using System.Data; using ByteFX.Data.MySqlClient;
class MainClass { public static void Main(string[] args) { string myConnectionString = "Database=test;DataSource=192.168.1.25;UserId=web;Password=teddy;";
MySqlConnection connnection = new MySqlConnection(myConnectionString); MySqlCommand indset = new MySqlCommand("INSERT INTO t1 (f1, f2) Values(9,10)"); indset.Connection = connnection; connnection.Open(); ( Fejl ) indset.ExecuteNonQuery(); indset.Connection.Close(); connnection.Close(); } }
Hvis du ikke har flere gode ideer lige nu, så tror jeg jeg vil prøve dit og cyberfessors eksempel på VS.NET 2003 mandag, og hvis det ikke virker der, må jeg jo prøve med DSN/ODBC.NET
Jeg vil prøve det igen, når jeg er blevet lidt mere fortrolig med C#
Tak for forsøget.
Synes godt om
Ny brugerNybegynder
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.