这段代码,
string cmdText = @"INSERT INTO Planilha
(
ROTALOJ , ROTA , LOJA , [BAIRRO-LOJA] , UF ,
[INI-R] , [FIN-R] , DOCA , [D-GER] , [H-GER] ,
[FIN-P] , [FIN-P1] , [INI-S] , [INI-S1] , [FIN-S] ,
[FIN-S1] , [HR-SE] , [D-CON] , [H-CON] , [D-DOC] ,
[H-DOC] , [D-EMI] , [H-EMI] , [D-SAI] , [H-SAI] ,
[Q-PER] , [LOJ-E] , [LOJ-E1] , [LOJ-P] , [LOJ-P1] ,
PLACA , [TP-VEIC] , [NOME-GUERRA] , MOTORIST , [T-DES] ,
[T-SEP] , [S-LOJ] , [S-LOJ1] , [H-DES] , [TP-CARG] ,
DEP , BD , PESO , VOLUME , [VAL-TRANSF] ,
[VAL-FRETE] , [PLC-CAV] , RG , LIBER , LIBER1 ,
DTFLY , QTFLV , DTOUT , QTOUT , [SE-RI] ,
[SE-RI1] , [SE-RF] , [SE-RF1] , DTPER , QTPER ,
SEQ , FA , [D-SEN]
)
VALUES
(
@p0+@p1 , @p0 , @p1 , @p2 , @p3 ,
@p4 , @p5 , @p6 , @p7 , @p8 ,
@p9 , @p10 , @p11 , @p12 , @p13 ,
@p14 , @p15 , @p16 , @p17 , @p18 ,
@p19 , @p20 , @p21 , @p22 , @p23 ,
@p24 , @p25 , @p26 , @p27 , @p28 ,
@p29 , @p30 , @p31 , @p32 , @p33 ,
@p34 , @p35 , @p36 , @p37 , @p38 ,
@p39 , @p40 , @p41 , @p42 , @p43 ,
@p44 , @p45 , @p46 , @p47 , @p48 ,
@p49 , @p50 , @p51 , @p52 , @p53 ,
@p54 , @p55 , @p56 , @p57 , @p58 ,
@p59 , @p60 , @p61 , @p62
)
";
SqlCommand cmd = new SqlCommand(cmdText, conexao);
cmd.Parameters.AddWithValue("@p0", dtExcel.Rows[i][0]);
cmd.Parameters.AddWithValue("@p1", dtExcel.Rows[i][1]);
cmd.Parameters.AddWithValue("@p2", dtExcel.Rows[i][2]);
cmd.Parameters.AddWithValue("@p3", dtExcel.Rows[i][3]);
cmd.Parameters.AddWithValue("@p4", dtExcel.Rows[i][4]);
cmd.Parameters.AddWithValue("@p5", dtExcel.Rows[i][5]);
cmd.Parameters.AddWithValue("@p6", dtExcel.Rows[i][6]);
cmd.Parameters.AddWithValue("@p7", dtExcel.Rows[i][7]);
cmd.Parameters.AddWithValue("@p8", dtExcel.Rows[i][8]);
cmd.Parameters.AddWithValue("@p9", dtExcel.Rows[i][9]);
cmd.Parameters.AddWithValue("@p10", dtExcel.Rows[i][10]);
cmd.Parameters.AddWithValue("@p11", dtExcel.Rows[i][11]);
cmd.Parameters.AddWithValue("@p12", dtExcel.Rows[i][12]);
cmd.Parameters.AddWithValue("@p13", dtExcel.Rows[i][13]);
cmd.Parameters.AddWithValue("@p14", dtExcel.Rows[i][14]);
cmd.Parameters.AddWithValue("@p15", dtExcel.Rows[i][15]);
cmd.Parameters.AddWithValue("@p16", dtExcel.Rows[i][16]);
cmd.Parameters.AddWithValue("@p17", dtExcel.Rows[i][17]);
cmd.Parameters.AddWithValue("@p18", dtExcel.Rows[i][18]);
cmd.Parameters.AddWithValue("@p19", dtExcel.Rows[i][19]);
cmd.Parameters.AddWithValue("@p20", dtExcel.Rows[i][20]);
cmd.Parameters.AddWithValue("@p21", dtExcel.Rows[i][21]);
cmd.Parameters.AddWithValue("@p22", dtExcel.Rows[i][22]);
cmd.Parameters.AddWithValue("@p23", dtExcel.Rows[i][23]);
cmd.Parameters.AddWithValue("@p24", dtExcel.Rows[i][24]);
cmd.Parameters.AddWithValue("@p25", dtExcel.Rows[i][25]);
cmd.Parameters.AddWithValue("@p26", dtExcel.Rows[i][26]);
cmd.Parameters.AddWithValue("@p27", dtExcel.Rows[i][27]);
cmd.Parameters.AddWithValue("@p28", dtExcel.Rows[i][28]);
cmd.Parameters.AddWithValue("@p29", dtExcel.Rows[i][29]);
cmd.Parameters.AddWithValue("@p30", dtExcel.Rows[i][30]);
cmd.Parameters.AddWithValue("@p31", dtExcel.Rows[i][31]);
cmd.Parameters.AddWithValue("@p32", dtExcel.Rows[i][32]);
cmd.Parameters.AddWithValue("@p33", dtExcel.Rows[i][33]);
cmd.Parameters.AddWithValue("@p34", dtExcel.Rows[i][34]);
cmd.Parameters.AddWithValue("@p35", dtExcel.Rows[i][35]);
cmd.Parameters.AddWithValue("@p36", dtExcel.Rows[i][36]);
cmd.Parameters.AddWithValue("@p37", dtExcel.Rows[i][37]);
cmd.Parameters.AddWithValue("@p38", dtExcel.Rows[i][38]);
cmd.Parameters.AddWithValue("@p39", dtExcel.Rows[i][39]);
cmd.Parameters.AddWithValue("@p40", dtExcel.Rows[i][40]);
cmd.Parameters.AddWithValue("@p41", dtExcel.Rows[i][41]);
cmd.Parameters.AddWithValue("@p42", dtExcel.Rows[i][42]);
cmd.Parameters.AddWithValue("@p43", dtExcel.Rows[i][43]);
cmd.Parameters.AddWithValue("@p44", dtExcel.Rows[i][44]);
cmd.Parameters.AddWithValue("@p45", dtExcel.Rows[i][45]);
cmd.Parameters.AddWithValue("@p46", dtExcel.Rows[i][46]);
cmd.Parameters.AddWithValue("@p47", dtExcel.Rows[i][47]);
cmd.Parameters.AddWithValue("@p48", dtExcel.Rows[i][48]);
cmd.Parameters.AddWithValue("@p49", dtExcel.Rows[i][49]);
cmd.Parameters.AddWithValue("@p50", dtExcel.Rows[i][50]);
cmd.Parameters.AddWithValue("@p51", dtExcel.Rows[i][51]);
cmd.Parameters.AddWithValue("@p52", dtExcel.Rows[i][52]);
cmd.Parameters.AddWithValue("@p53", dtExcel.Rows[i][53]);
cmd.Parameters.AddWithValue("@p54", dtExcel.Rows[i][54]);
cmd.Parameters.AddWithValue("@p55", dtExcel.Rows[i][55]);
cmd.Parameters.AddWithValue("@p56", dtExcel.Rows[i][56]);
cmd.Parameters.AddWithValue("@p57", dtExcel.Rows[i][57]);
cmd.Parameters.AddWithValue("@p58", dtExcel.Rows[i][58]);
cmd.Parameters.AddWithValue("@p59", dtExcel.Rows[i][59]);
cmd.Parameters.AddWithValue("@p60", dtExcel.Rows[i][60]);
cmd.Parameters.AddWithValue("@p61", dtExcel.Rows[i][61]);
cmd.Parameters.AddWithValue("@p62", dtExcel.Rows[i][62]);
cmd.ExecuteNonQuery();
现在给出了这个错误......
对于那些帮助我的人,谢谢你我正在等待某人的回答
DB
ROTALOJ varchar(50) Checked
ROTA varchar(50) Checked
LOJA varchar(50) Checked
答案 0 :(得分:0)
您的insert语句指定63列,您的值列表提供64列。
为了清晰起见,我重新编写了代码示例。问题应该是相当明显的。
对于它的价值,特别是对于SQL,整洁,表格代码是一个巨大的认知帮助。人们的头脑理解规律性并注意到不规则性。
另外,记住DRY原则(“不要重复自己”):一个简单的循环,而不是重复63次的相同的东西是首选:
for ( int j = 0 ; j < 63 ; ++i )
{
string name = string.Format("@p{0}",j) ;
object value = dtExcel.Rows[i][j] ;
cmd.Parameters.AddWithValue( name , value );
}