我有这个简单的类,它应该执行一个普通INSERT INTO
的表格,但是ExecuteNonQuery
给我:OVERFLOW ERROR
。你能告诉我为什么吗?请。
OleDbCommand cmd = new OleDbCommand(selectSQLNewData, con);
OleDbDataReader reader = cmd.ExecuteReader();
OleDbCommand cIns = new OleDbCommand();
string str = "insert into NORMALIZZATI (id,comune,provincia,via_ufficiale,civico,frazione,cap,codiceIstat1,codiceIstat2,codiceIstat3,codiceIstat4,qualita,xdef,ydef) VALUES (@id,@comune,@provincia,@via_ufficiale,@civico,@frazione,@cap,@codiceIstat1,@codiceIstat2,@codiceIstat3,@codiceIstat4,@qualita,@xdef,@ydef);";
while (reader.Read())
{
string clid = reader["CUSTOMER_ID"].ToString(); //selezionare la chiave primaria
string indirizzo = reader["INDIRIZZO"].ToString(); //selezionare l'input al normalizzatore
string postalcode = reader["POSTALCODE"].ToString(); //input al normalizzatore
string citta = reader["CITTA"].ToString();
string prov = reader["PROV"].ToString();
///chiama il processo di normalizzazione su questi dati, ritorna un output ... da inserire nella tabella.
ServiceReference.ArrayOfString normalizzatore = norm.Esegui("TANGARIF", "4w3cC+naG8FnaHxH3ab/BA==", 2, citta, indirizzo, prov);
////prendere il risultato della normalizzazione, cosa prendere ??
//se vanno bene:
cIns = new OleDbCommand();
cIns.Connection = con;
cIns.CommandText = str;
cIns.Parameters.AddWithValue("@id", clid);
cIns.Parameters.AddWithValue("@comune", normalizzatore[7]);
cIns.Parameters.AddWithValue("@provincia", normalizzatore[6]);
cIns.Parameters.AddWithValue("@via_ufficiale", normalizzatore[7]); /// da dove prendo la via ufficiale?
cIns.Parameters.AddWithValue("@civico", normalizzatore[13]);
cIns.Parameters.AddWithValue("@frazione", normalizzatore[8]);
cIns.Parameters.AddWithValue("@cap", normalizzatore[27]);
cIns.Parameters.AddWithValue("@codiceIstat1", normalizzatore[14]);
cIns.Parameters.AddWithValue("@codiceIstat2", normalizzatore[15]);
cIns.Parameters.AddWithValue("@codiceIstat3", normalizzatore[16]);
cIns.Parameters.AddWithValue("@codiceIstat4", normalizzatore[17]);
cIns.Parameters.AddWithValue("@qualita", normalizzatore[43]);
cIns.Parameters.AddWithValue("@xdef", (normalizzatore[38]));
cIns.Parameters.AddWithValue("@ydef", (normalizzatore[39]));
cIns.ExecuteNonQuery();
}
表定义:
CREATE TABLE NORMALIZZATI
(
id integer primary key,
comune char(200),
provincia char(200),
via_ufficiale char(200),
civico char(200),
frazione char(200),
cap char(5),
codiceIstat1 char(200),
codiceIstat2 char(200),
codiceIstat3 char(200),
codiceIstat4 char(200),
qualita char(200),
xdef Text,
ydef Text
)