Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Nybörjarproblem med inläggning av information i en accessdatabas via odbc.

Postades av 2008-01-19 21:14:25 - Maria Unborg, i forum c# (c-sharp), Tråden har 3 Kommentarer och lästs av 1122 personer

Jag ska lägga in information i en accessdatabas via Microsoft Visual Studio, en windows application.
jag ska använda mig av Odbc. Jag har testat att göra på lite olika sätt och vis. Däremot kommer jag inte någon vart över huvudtaget när det handlar om att lägga in information.

Test 1:

public void LaggtillFilm(string imdb,string titel,string regissör)
{
using (OdbcConnection connection = conn1)
{
string insertSQL = "INSERT INTO Film (imdb, titel, regissör) VALUES (imdb, titel,regissör)";
OdbcCommand command = new OdbcCommand(insertSQL, connection);

connection.Open();
command.ExecuteNonQuery();
connection.Open();
}
}

Då fick jag felmeddelandet: ERROR [07002] [Microsoft][ODBC-drivrutin för Microsoft Access]
För få parametrar angavs. 3 förväntades.

Test 2:

public void LaggtillFilm(string imdb,string titel,string regissör)
{
OdbcConnection conn = conn1;
conn.Open();

OdbcCommand Command = new OdbcCommand(
"INSERT INTO Film(imdb, titel, regissör) " +
"VALUES(imdb, titel, regissör)", conn);
Command.Parameters.AddWithValue("imdb", imdb);
Command.Parameters.AddWithValue("titel", titel);
Command.Parameters.AddWithValue("regissör", regissör);
Command.ExecuteNonQuery();

conn.Close();
}

Då fick jag felmeddelandet: ERROR [07002] [Microsoft][ODBC-drivrutin för Microsoft Access]
För få parametrar angavs. 3 förväntades.

Test 3:
public void LaggtillFilm(string imdb,string titel,string regissör)
{
conn1.Open();
OdbcCommand command = laggtillfilm1.ExecuteNonQuery();
conn1.Close();
}

laggtillfilm1 är då ett OdbcCommand som innehåller SQL satsen
" INSERT INTO Film
(imdb, titel, regissör)
VALUES (?, ?, ?)"

Men då får jag ist felmeddelandet: Error Cannot implicitly convert type 'int' to 'System.Data.Odbc.OdbcCommand'

Test 4:
public void LaggtillFilm(string imdb,string titel,string regissör)
{
conn1.Open();
laggtillfilm1.ExecuteNonQuery();
conn1.Close();
}
Då fick jag felmeddelandet : ERROR [07002] [Microsoft][ODBC-drivrutin för Microsoft Access]Felaktigt COUNT-fält trots att alla tre fälten är deklarerade som datatypen text i access.


Svara

Sv: Nybörjarproblem med inläggning av information i en accessdatabas via odbc.

Postades av 2008-01-20 10:22:26 - Chris Klug

Test 1 borde se ut ungefär så här:
<code>
public void LaggtillFilm(string imdb,string titel,string regissör)
{
using (OdbcConnection connection = conn1)
{
string insertSQL = String.Format("INSERT INTO Film (imdb, titel, regissör) VALUES ('{0}', '{1}','{2}')",imdb,titel,regissör);
OdbcCommand command = new OdbcCommand(insertSQL, connection);

connection.Open();
command.ExecuteNonQuery();
connection.Open();
}
}
</code>
Men då måste du akta dig för SQL-injection...

Test 2 tror jag beror på att man inte kan namnge parametrar på det viset i Access... Men jag är inte helt säker...

Test 3:
<code>
public void LaggtillFilm(string imdb,string titel,string regissör)
{
conn1.Open();
laggtillfilm1.Parameters.AddWithValue("?", imdb);
laggtillfilm1.Parameters.AddWithValue("?", titel);
laggtillfilm1.Parameters.AddWithValue("?", regissör);
int antalRowsAffected = laggtillfilm1.ExecuteNonQuery();
conn1.Close();
}
</code>
ExecuteNonQuery returnerar antalet rader som påverkats. Inte ett OdbcCommand

Test 4 vet jag inte. I 3:an la jag till parametrarna, vilket jag inte vet om du redan hade i ditt odbccommand. Framgick inte av texten. Annars ser 4:an rätt ut...


Svara

Sv:Nybörjarproblem med inläggning av information i en accessdatabas via odbc.

Postades av 2008-01-20 11:32:29 - Benni Svensson

<b> string insertSQL = "INSERT INTO Film (imdb, titel, regissör) VALUES (imdb, titel,regissör)"; </b>
Borde väll ändå vara..
<code>
string insertSQL = "INSERT INTO Film (imdb, titel, regissör) VALUES ( '" + imbd+ "', '" + titel+ "','" + regisör+ "')";

</code>
..eller???
Sen bör ju SQL-injection tas på alvar..
<code>
public static string fixaTecken(string strText)
{
string nText = string.Empty;

nText = strText.Replace("_", "");
nText = strText.Replace("´", "");
nText = strText.Replace("|", "");
nText = strText.Replace("@", "");
nText = strText.Replace("$", "");
nText = strText.Replace("'", "");
return nText;
}
</code>
..vilket skulle betyda följande sql..
<code>
string insertSQL = "INSERT INTO Film (imdb, titel, regissör) VALUES ( '" + fixaTecken(imbd)+ "', '"
+ fixaTecken(titel)+ "','" + fixaTecken(regisör)+ "')";
</code>
Jag har kanske onödigt många tecken som jag kollar, men bättre det än för lite.


Svara

Sv: Nybörjarproblem med inläggning av information i en accessdatabas via odbc.

Postades av 2008-01-20 16:53:34 - Maria Unborg

Tack så mycket för era svar. Har äntligen fått till hur man lägger in informationen så att det blir rätt,
nu ska jag ta och fixa uppdatering och borttagningen.

jag använde mig av test 3 - med ändringarna som gjorts.


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 874
27 965
271 771
759
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies