无法将datetime插入数据库 [英] Cannot insert datetime to database

查看:66
本文介绍了无法将datetime插入数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从字符串转换日期和/或时间时转换失败。


当我尝试向db插入新行时,
i总是出现上述错误



i认为我做的一切都正确,但我不知道为什么它可以'。



有人可以帮忙吗?



这是我的代码。



 sqlcmd2 =  插入MC_TestPOM(IssuerBIN,IssuerCurrencyID, IssuerCountryName,IssuerCountryName2,IssuerCountryName3 
+ ,IssuerBankName,IssuerDateTime,IssuerBINFrom)
+ VALUES(@issuerBIN,@ issuerCurrencyID,@ issuerCountryName,@ issuerCountryName2,@ issuerCountryName3,@ issuerBankName,@ betweenuerBINFrom, + @ issuerDateTime + ;
数据库数据库= .getDatabase();
DbCommand sqlStringCommand = getDatabase()。GetSqlStringCommand(sqlcmd2);
database.AddInParameter(sqlStringCommand, issuerBIN,DbType。 String ,BinNo);
database.AddInParameter(sqlStringCommand, issuerCurrencyID,DbType。 Int16 ,Cur.currencyID);
database.AddInParameter(sqlStringCommand, issuerCountryName,DbType。 String ,Cur.A3);
database.AddInParameter(sqlStringCommand, issuerCountryName2,DbType。 String ,Cur.A2);
database.AddInParameter(sqlStringCommand, issuerCountryName3,DbType。 String ,Cur.CountryName);
database.AddInParameter(sqlStringCommand, issuerBankName,DbType。 String ,Bankname);
database.AddInParameter(sqlStringCommand, issuerBINFrom,DbType。 String ,Frombankname);
database.AddInParameter(sqlStringCommand, issuerDateTime,DbType.DateTime,(对象)DateTime.Now);
getDatabase()。ExecuteNonQuery(sqlStringCommand);

解决方案

列名中的参数顺序不正确;列名称为IssuerDateTime,IssuerBINFrom,但参数为@issuerBINFrom,@ issuerDateTime。尝试如下

 sqlcmd2 =  插入MC_TestPOM( IssuerBIN,IssuerCurrencyID,IssuerCountryName,IssuerCountryName2,IssuerCountryName3,IssuerBankName,IssuerBINFrom,IssuerDateTime)VALUES(@issuerBIN,@ issuerCurrencyID,@ issuerCountryName,@ issuerCountryName2,@ issuerCountryName3,@ issuerBankName,@ issuerBINFrom,@ issuerDateTime); 


Conversion failed when converting date and/or time from character string.

i always got above error when i try to insert new rows to db

i think i did everything correctly but i have no clue why it can'.

Can anyone help?

Here is my code.

sqlcmd2 = "insert into MC_TestPOM (IssuerBIN,IssuerCurrencyID,IssuerCountryName,IssuerCountryName2,IssuerCountryName3"
         + ",IssuerBankName,IssuerDateTime,IssuerBINFrom)"
         + "VALUES (@issuerBIN, @issuerCurrencyID, @issuerCountryName, @issuerCountryName2, @issuerCountryName3, @issuerBankName, @issuerBINFrom," + "@issuerDateTime" + ")";
Database database = this.getDatabase();
DbCommand sqlStringCommand = getDatabase().GetSqlStringCommand(sqlcmd2);
database.AddInParameter(sqlStringCommand, "issuerBIN", DbType.String, BinNo);
database.AddInParameter(sqlStringCommand, "issuerCurrencyID", DbType.Int16, Cur.currencyID);
database.AddInParameter(sqlStringCommand, "issuerCountryName", DbType.String, Cur.A3);
database.AddInParameter(sqlStringCommand, "issuerCountryName2", DbType.String, Cur.A2);
database.AddInParameter(sqlStringCommand, "issuerCountryName3", DbType.String, Cur.CountryName);
database.AddInParameter(sqlStringCommand, "issuerBankName", DbType.String, Bankname);
database.AddInParameter(sqlStringCommand, "issuerBINFrom", DbType.String, Frombankname);
database.AddInParameter(sqlStringCommand, "issuerDateTime", DbType.DateTime,(object)DateTime.Now);
getDatabase().ExecuteNonQuery(sqlStringCommand);

解决方案

incorrect parameter order in column names; column names given as IssuerDateTime,IssuerBINFrom but parameter given as @issuerBINFrom, @issuerDateTime. try as below

sqlcmd2 ="insert into MC_TestPOM (IssuerBIN, IssuerCurrencyID, IssuerCountryName, IssuerCountryName2, IssuerCountryName3, IssuerBankName, IssuerBINFrom,IssuerDateTime ) VALUES (@issuerBIN, @issuerCurrencyID, @issuerCountryName, @issuerCountryName2, @issuerCountryName3, @issuerBankName, @issuerBINFrom, @issuerDateTime)";


这篇关于无法将datetime插入数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆