Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

C-Sharp INSERT in mdb schlaegt fehl

Frage Entwicklung Datenbanken

Mitglied: Sirius91

Sirius91 (Level 1) - Jetzt verbinden

03.01.2014, aktualisiert 10:23 Uhr, 2284 Aufrufe, 3 Kommentare

Hallo liebe Community,

ich erstelle mit C# eine aspx Webseite die Daten in eine MS Access (.mdb) Datenbank schreiben kann (insert + update). SELECT und DELETE Befehl funktionieren bereits wunderbar. Allerdings gibt es Probleme beim schreiben. Meine Vermutung liegt an der Inkonsistenz der Datentypen. Ich nutze den Oledb.Jet.4.0 Treiber. Zur Info im Vorraus: die Parameter des Command-Befehls möchte ich nur ungern nutzen, da ich eine eigene Datenbankklasse geschrieben habe und diese bereits in mehreren Dateien nutze.

Aber nun zum Code.

Hier meine Methode der DB-Klasse (Hinweis: delete funktioniert einwandfrei):
[code]
public void db_insert_update_delete(String SQL_Command) {

try
{
start connection and send command
conn.Open();
cmd.CommandType = CommandType.Text;
cmd.CommandText = SQL_Command;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
error handling -> show error on webpage
lbl_error.Text = "Error: "+ e.ToString();
}
finally {
conn.Close();
}
}
[/code]

Hier der INSERT Befehl:

[code]
[...]
sql = "INSERT INTO tbl_vacancy VALUES ('','" + txt_m_1.Text + "',"
+ Convert.ToInt32(txt_m_2_1.Text) + ","
+ Convert.ToInt32(txt_m_2_2.Text) + ",'"
+ txt_m_3.Text + "','"
+ txt_m_4.Text + "','"
+ txt_m_5.Text + "','"
+ txt_m_6.Text + "','"
+ Convert.ToDateTime(txt_m_7.Text, CultureInfo.InvariantCulture).Date + "','"
+ txt_m_8.Text + "','"
+ txt_m_9.Text + "','"
+ txt_m_10.Text + "','"
+ txt_m_11.Text + "','"
+ txt_m_12.Text + "','"
+ txt_m_13.Text + "','"
+ txt_m_14.Text + "','"
+ txt_m_15.Text + "','"
+ txt_m_16.Text + "','"
+ txt_m_17.Text + "','"
+ txt_m_18.Text + "','"
+ Convert.ToDateTime(txt_m_19.Text, CultureInfo.InvariantCulture).Date + "','"
+ Convert.ToDateTime(txt_m_20.Text, CultureInfo.InvariantCulture).Date + "');";

cDatabase db = new cDatabase(lbl_error);
db.db_insert_update_delete(sql);
[...]
[/code]

Fehler:
[code]
{System.Data.OleDb.OleDbException (0x80040E07): Datentypen in Kriterienausdruck unverträglich.
bei System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
bei System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
bei System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
bei System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
bei System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
bei System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
bei Assignment2Task3.cDatabase.db_insert_update_delete(String SQL_Command) in d:\DATEN\Dateien\Visual Studio 2012\Projects\Assignment2Task3\website\App_Code\cDatabase.cs:Zeile 62.}
[/code]

Hier noch ein Screenshot der Entwurfsansicht der Datenbank:
81b66dc6671c19e7c2d0695a7ce78694 - Klicke auf das Bild, um es zu vergrößern

Wie schon gesagt, meine Vermutung liegt an meinen Datentypen die ich in den INSERT-Befehl übergebe.

Ich hoffe mir kann jemand weiterhelfen!

Vielen Dank schon im Vorraus!
Mitglied: colinardo
LÖSUNG 03.01.2014, aktualisiert um 10:23 Uhr
Hallo Sirius91,
das Problem ist das AutoWert-Feld in deiner Datenbank, damit gibt es immer wieder mal Probleme beim Zugriff aus anderen Programmen. Du arbeitest hier besser mit folgender SQL-Variante indem du die einzufügenden Felder angibst und dabei das AutoWert-Feld auslässt:
sql = "INSERT INTO tbl_vacancy(Title,SalarayStart, und so weiter)  VALUES ('" + txt_m_1.Text + "'," + und so weiter)"
Grüße Uwe
Bitte warten ..
Mitglied: wiesi200
03.01.2014 um 09:28 Uhr
Hallo,

zusätzlich. Datum als Textfeld zu speichern ist auch "gewöhnungsbedürftig".
Bitte warten ..
Mitglied: Sirius91
03.01.2014 um 10:24 Uhr
Zitat von wiesi200:

Hallo,

zusätzlich. Datum als Textfeld zu speichern ist auch "gewöhnungsbedürftig".

Oh, entschuldigung. Ist natürlich im Datum/Zeit Format.. hab ich wohl vergessen wieder zurückzusetzen beim Testen ;)

Auf jeden Fall war der Lösungsansatz von colinardo der richtige!

Herzlichen Dank!
Bitte warten ..
Ähnliche Inhalte
C und C++
C-sharp andere Scrollbar hinzufügen (2)

Frage von Yanmai zum Thema C und C ...

C und C++
C-sharp ZIP-Ordner an PHP senden (9)

Frage von Yanmai zum Thema C und C ...

Verschlüsselung & Zertifikate
Sperrprüfung für ein Zertifikat schlägt fehl (6)

Frage von MichaCon zum Thema Verschlüsselung & Zertifikate ...

Windows 10
gelöst Installation - CreateProcess schlug Fehl: Code 2 (3)

Frage von KLeinstein.tm zum Thema Windows 10 ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Rogue Access Point (21)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...