Hello,
on a WinCE5.0 device I run the following commands - (not complete):
DataSet oDS;
DataTable oDT=null;
// fill oDS from Web-Service ...
localhost.ODPService _wsTemp = _MAPD.GetWebService();
oDS = _wsTemp.GetAllZaehler();
string sConn = null;
//SqlCeEngine engine = null;
System.Data.SqlServerCe.SqlCeConnection oConn=null;
if (File.Exists(_MAPD.ExePfad + "MACOS_mo_db.sdf"))
{
sConn = "data source ='" + @._MAPD.ExePfad + "MACOS_mo_db.sdf'; mode=Exclusive; Password='xxxx'";
oConn = newSqlCeConnection(sConn);
if (oConn == null)
thrownewException("SQL-Connection zu " + @._MAPD.ExePfad + "MACOS_mo_db.sdf? konnte nicht erstellt werden!");
...
oConn.Open();
SqlCeCommand oCmd = newSqlCeCommand();
oCmd.Connection = oConn;
oCmd.CommandText = "DELETE from mo_OB_ZAEHLER";
oCmd.ExecuteNonQuery(); // This works !!
oCmd.Dispose();
oCmd = newSqlCeCommand();
oCmd.Connection = oConn;
string sStmt = "INSERT into mo_OB_ZAEHLER( OBJEKT_GUID, IDENT_NR, KURZ_TIT, OB_BEZ, EINHEIT, DATUM_ALT, STAND_ALT, ABGEHOLT, GESCHRIEBEN ) values ( :1, :2, :3, :4, :5, :6, :7, :8, :9 )";
oCmd.CommandText = sStmt;
oDT = oDS.Tables[0];
SqlCeParameter oP1 = newSqlCeParameter();
SqlCeParameter oP2 = newSqlCeParameter();
SqlCeParameter oP3 = newSqlCeParameter();
SqlCeParameter oP4 = newSqlCeParameter();
SqlCeParameter oP5 = newSqlCeParameter();
SqlCeParameter oP6 = newSqlCeParameter();
SqlCeParameter oP7 = newSqlCeParameter();
SqlCeParameter oP8 = newSqlCeParameter();
SqlCeParameter oP9 = newSqlCeParameter();
oP1.ParameterName = ":1";
oP2.ParameterName = ":2";
oP3.ParameterName = ":3";
oP4.ParameterName = ":4";
oP5.ParameterName = ":5";
oP6.ParameterName = ":6";
oP7.ParameterName = ":7";
oP8.ParameterName = ":8";
oP9.ParameterName = ":9";
oCmd.Parameters.Add(oP1);
oCmd.Parameters.Add(oP2);
oCmd.Parameters.Add(oP3);
oCmd.Parameters.Add(oP4);
oCmd.Parameters.Add(oP5);
oCmd.Parameters.Add(oP6);
oCmd.Parameters.Add(oP7);
oCmd.Parameters.Add(oP8);
oCmd.Parameters.Add(oP9);
DateTime oNow = newDateTime();
oNow = DateTime.Now;
for (int iRow = 0; iRow < oDT.Rows.Count; iRow++)
{
oCmd.Parameters[0].Value = oDT.Rows[iRow]["OBJEKT_GUID"];
oCmd.Parameters[1].Value = oDT.Rows[iRow]["IDENT_NR"];
oCmd.Parameters[2].Value = oDT.Rows[iRow]["KURZ_TIT"];
oCmd.Parameters[3].Value = oDT.Rows[iRow]["OB_BEZ"];
oCmd.Parameters[4].Value = oDT.Rows[iRow]["EINHEIT"];
oCmd.Parameters[5].Value = oDT.Rows[iRow]["DATUM_ALT"];
oCmd.Parameters.Value = oDT.Rows[iRow]["STAND_ALT"];
oCmd.Parameters[7].Value = oNow;
oCmd.Parameters.Value = (int)0;
oCmd.ExecuteNonQuery();
}
....
at oCmd.ExecuteNonQuery() - line after oCmd.Parameters.Value =... - an error with Message " [ 1,133,: ]" is thrown.
What does this mean?
Where can I find discription of error codes? Why is there no further text in the Exception object?
I checked the parameters set in oCmd and they seem to be correct.
Please help.
J?rg
The error indicates a SQL parsing error at character 133. Change your parameter names from :1 to @.1 (and so on).
For information on how to get detailed SQL CE error information, see: http://msdn2.microsoft.com/en-us/library/ms174079(SQL.90).aspx
No comments:
Post a Comment