Forums Neueste Beiträge
 

ODBC Visual FoxPro Driver, Datentypen

27/08/2010 - 12:43 von Karl Twele | Report spam
Hallo,

ich hab folgenden Code :

// ich öffne eine Foxprow Datei und lese einen Datensatz
string strSelect = string.Format("SELECT * FROM bdedat WHERE cfertgeb =
'{0}'", m_dr[2].ToString().Substring(11, 8));
OdbcDataAdapter odbcDa = new OdbcDataAdapter(strSelect,
Driver={Microsoft Visual Foxpro
Driver};UID=;SourceTypeÛF;SourceDB=s:\\DatenBank\\Tabellen;Exclusive=No");

DataTable dtBDEDat = new DataTable();
odbcDa.Fill(dtBDEDat);


// Dann àndere ich ein Logisches Feld von true auf false

dtBDEDat.Rows[0]["lgesperrt"] = "False";

// und schreibe das so zurück in die Datei

OdbcCommandBuilder cb = new OdbcCommandBuilder(odbcDa);
string strUpdate = string.Format("UPDATE bdedat SET lgesperrt = 'False'
WHERE cfertgeb = '{0}'", m_dr[2].ToString().Substring(11, 8));

odbcDa.UpdateCommand = new OdbcCommand(strUpdate);
odbcDa.Update(dtBDEDat);

Das funktioniert mit anderen Datentypen, allerdings mit einem logischen
Ausdruck nicht. Es kommt eine Meldung :

ERROR [22018] [Microsoft][ODBC Visual FoxPro Driver]Datentyp stimmt
nicht überein.

Ich denk mal das 'False' im Updatestring ist falsch, weiß einer wie der
richtig lauten muß ???

Gruß KT
 

Lesen sie die antworten

#1 Karl Twele
27/08/2010 - 13:11 | Warnen spam
Karl Twele schrieb:
Hallo,

ich hab folgenden Code :

// ich öffne eine Foxprow Datei und lese einen Datensatz
string strSelect = string.Format("SELECT * FROM bdedat WHERE cfertgeb =
'{0}'", m_dr[2].ToString().Substring(11, 8));
OdbcDataAdapter odbcDa = new OdbcDataAdapter(strSelect,
Driver={Microsoft Visual Foxpro
Driver};UID=;SourceTypeÛF;SourceDB=s:\\DatenBank\\Tabellen;Exclusive=No");


DataTable dtBDEDat = new DataTable();
odbcDa.Fill(dtBDEDat);


// Dann àndere ich ein Logisches Feld von true auf false

dtBDEDat.Rows[0]["lgesperrt"] = "False";

// und schreibe das so zurück in die Datei

OdbcCommandBuilder cb = new OdbcCommandBuilder(odbcDa);
string strUpdate = string.Format("UPDATE bdedat SET lgesperrt = 'False'
WHERE cfertgeb = '{0}'", m_dr[2].ToString().Substring(11, 8));

odbcDa.UpdateCommand = new OdbcCommand(strUpdate);
odbcDa.Update(dtBDEDat);

Das funktioniert mit anderen Datentypen, allerdings mit einem logischen
Ausdruck nicht. Es kommt eine Meldung :

ERROR [22018] [Microsoft][ODBC Visual FoxPro Driver]Datentyp stimmt
nicht überein.

Ich denk mal das 'False' im Updatestring ist falsch, weiß einer wie der
richtig lauten muß ???

Gruß KT




Hallo,

kann ich selbst beantworten, schreibt sich wie in Foxpro :

UPDATE bdedat SET lgesperrt = .F. WHERE ;
Hab ich zwar schon probiert, hatte aber wohl woanders einen Fehler.
Also weiterarbeiten und nicht stören lassen !!

Gruß KT

Ähnliche fragen