Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2332 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++
gelöst "Blassheit" bei einem label in C-sharp (5)

Frage von derCreeper zum Thema C und C ...

C und C++
gelöst Ist "C Sharp" das Richtige für mich, als Neuling (11)

Frage von BlueLines zum Thema C und C ...

C und C++
gelöst C-sharp Form buggt (2)

Frage von Yanmai zum Thema C und C ...

C und C++
gelöst C-Sharp Process.Start und SubProcesses (4)

Frage von mayho33 zum Thema C und C ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (26)

Frage von jensgebken zum Thema Windows Server ...

Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (18)

Frage von ahstax zum Thema Visual Studio ...