首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# OleDbCommand溢出

c# OleDbCommand溢出
EN

Stack Overflow用户
提问于 2012-06-01 01:59:29
回答 1查看 401关注 0票数 0

我有一个简单的类,它应该执行一个普通的INSERT INTO a表,但是ExecuteNonQuery给了我:OVERFLOW ERROR。你能告诉我为什么吗?请。

代码语言:javascript
复制
  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();



            } 

表定义:

代码语言:javascript
复制
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

)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-01 02:01:48

我猜你正在传递的参数之一比你试图插入的列的长度要长。你能发布你的表定义吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10838778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档