Avatar billede iceyblue Nybegynder
18. marts 2004 - 01:39 Der er 7 kommentarer og
1 løsning

Hjælp til Access database

Hejsa...

Jeg sidder og roder med en Access database og jeg har fået mit program til at indlæse data...men kan i ik lige fortælle mig hvordan jeg tilføjer og sletter rækker fra min Access database fra C# af...??

Jeg benytter OledbDateAdapter, OledbConnecting og OledbCammand...

mvh. IceyBlue
Avatar billede e_c Nybegynder
18. marts 2004 - 01:57 #1
Hep, Iceyblue.

Jeg plejer at bruge en DbHandler klasse til at gøre det med. Koden fra den ser sådan ud:

public int Insert(string s) //string s = din INSERT sql ting!
{
  int val = 0;
  conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= XX");
            OleDbCommand cmd = new OleDbCommand(s,conn);
 
  try
  {
  conn.Open();
  cmd.ExecuteNonQuery();
  val = 1;
  }
  catch(OleDbException e)
  {
  Console.WriteLine("" + e.ToString() );
  }
  finally
  {
  conn.Close();
  }
return val;
}

public int Remove(string s)
{
int val = 0;
conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=XXXXX");
            OleDbCommand cmd = new OleDbCommand(s,conn);

  try
  {
  conn.Open();
  cmd.ExecuteNonQuery();
  val = 1;
  }
  catch(OleDbException e)
  {
  Console.WriteLine("" + e.ToString() );
  }
finally
{
  conn.Close();
}
  return val;
}
Avatar billede iceyblue Nybegynder
18. marts 2004 - 02:12 #2
øømh...jeg havde nu tænkte noget med at skrive til datasette og så opdatere det i databasen...er det ikke såN man gør? Det er sådan jeg indlæser data. Går det hurtigere med statements?

Du må også meget gerne give eks. på den eksakte sql insert/remove notation...
Avatar billede e_c Nybegynder
18. marts 2004 - 02:24 #3
Grunden til at der kun sendes en string til metoderne, er for at gøre klassen uafhængig af SQL osv. Det vil sige klassen bliver mere genbrugelig (ihvertfald med hensyn til Access)

SQL syntaks kunne f.eks. være, hvis du i din Access db har en tabel med Id og navn :


sql = "INSERT INTO dinTabel VALUE('id','navn')"; //hvor sql er en string.

og remove:
sql = "DELETE FROM dinTabel WHERE id="'det_Id_Der_Skal_Slettes';

er det forståeligt? Det er lidt kludret at skrive.
Avatar billede iceyblue Nybegynder
18. marts 2004 - 12:51 #4
Jeg er med på hvad du mener...det virkede s´gu også lige før...men dnu har jeg åbenbart fucket op i det igen...

den siger at der er fejl i SQL statementet :

string sqlForspørgsel = "INSERT INTO tabelBrugere VALUE('hulubuluu')";

????
Avatar billede iceyblue Nybegynder
18. marts 2004 - 12:55 #5
!!!!! VALUES skal ændres til VALUES!!!!! trods jeg kun indsætter én værdi!!??
Avatar billede iceyblue Nybegynder
18. marts 2004 - 12:56 #6
DO!!! jeg mente selvfølgelig "VALUE" skal ændres til "VALUES"...
Avatar billede iceyblue Nybegynder
18. marts 2004 - 13:03 #7
forresten...hvordan indsætter jeg en string variabel i min sql?? det driller? hvordan er notationen??

eks.

string navn = "IceyBlue";
string sqlForspørgsel = "INSERT INTO tabelBrugere VALUE(navn)"; virker ikke..
string sqlForspørgsel = "INSERT INTO tabelBrugere VALUE("'"+navn+"'")"; virker heller ikke..:(
Avatar billede iceyblue Nybegynder
18. marts 2004 - 13:12 #8
string sqlForspørgsel = "INSERT INTO tabelBrugere VALUES('"+bnavn+"')";

bingo!!!
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