指定演员表无效。 LINQ [英] specified cast is not valid. linq

查看:86
本文介绍了指定演员表无效。 LINQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从excel插入数据到数据库时抛出上述错误



这是我的代码:



While inserting the data from excel to database it throwing the above error

Here is my code:

void insertDB()
       {
           string FileName = lblFileName.Text;
           string Extension = Path.GetExtension(FileName);
           string FolderPath = Server.MapPath(ConfigurationManager.AppSettings["FolderPath"]);
           string conStr = "";
           switch (Extension)
           {
               case ".xls": //Excel 97-03
                   conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FolderPath + FileName + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
                   break;
               case ".xlsx": //Excel 07
                   conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FolderPath + FileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";
                   break;
           }
           try
           {
               using (var context = new LQTransAgentSeaFreightRateDataContext())
               {
                   string sql = string.Format("Select * FROM [{0}]" ,  ddlSheets.SelectedValue);
                   using (var myConnection = new OleDbConnection(conStr))
                   using (var myCommand = new OleDbCommand(sql, myConnection))
                   {
                       myConnection.Open();
                       var myReader = myCommand.ExecuteReader();
                       while (myReader.Read())
                       {
                           context.TB_TransAgentSeaFreightRates.InsertOnSubmit(new TB_TransAgentSeaFreightRate()
                           {
                               tASF_VCPOD = myReader.GetString(0).ToString(),
                               tASF_VCPOL = myReader.GetString(1).ToString(),
                               tASF_VCForwarder = myReader.GetString(2).ToString(),
                               tASF_VCForwarderReference = myReader.GetString(3).ToString(),
                               tASF_VCShippingLine = myReader.GetString(4).ToString(),
                               tASF_VCContainerType = myReader.GetString(5).ToString(),
                               tASF_VCContainerSize = myReader.GetString(6).ToString(),
                               tASF_DTEValidFrom = Convert.ToDateTime(myReader.GetString(7)),
                               tASF_DTEValidTo = Convert.ToDateTime(myReader.GetString(8)),
                               tASF_NUBasicRate = mobjGenlib.ConvertLong(myReader.GetString(9)),
                               tASF_NUPAF = mobjGenlib.ConvertLong(myReader.GetString(10)),
                               tASF_NUCAF = mobjGenlib.ConvertLong(myReader.GetString(11)),
                               tASF_NUPSS = mobjGenlib.ConvertLong(myReader.GetString(12)),
                               tASF_NUTotalAmount = mobjGenlib.ConvertLong(myReader.GetString(13)),
                               tASF_NUFreeDays = mobjGenlib.ConvertLong(myReader.GetString(14)),
                               tASF_VCCreditDays = myReader.GetString(15).ToString(),
                               tASF_VCNITDeposit = myReader.GetString(16).ToString(),
                               tASF_NUIsActive = 1,
                               tASF_mCMP_NUUniqueId = mobjGenlib.ConvertLong(TXTCompanyID.Text)
                           });
                       }
                   }

                   context.SubmitChanges();
               }
           }
           catch (Exception ex)
           {
               lblMessage.ForeColor = System.Drawing.Color.White;
               lblMessage.Text = ex.Message;
           }
       }





我不知道如何让它正常工作.. 。如果有人建议我这将会非常有帮助。



感谢adavance。



I don't have an idea to how to make it to work fine...if any one suggest me it would be very helpful.

Thanks in adavance.

推荐答案

tASF_NUIsActive = 1,如果tASF_NUIsActive是bool字段,则可能是一个问题尝试tASF_NUIsActive = true,
tASF_NUIsActive = 1, may be this is a problem if tASF_NUIsActive is bool field try tASF_NUIsActive = true,


尝试设置断点以找出导致问题的行。可能的问题生成器是Convert.ToDateTime和mobjGenlib.ConvertLong。
Try to put the breakpoint to find out which line is causing the problem. Possible problem generator are Convert.ToDateTime and mobjGenlib.ConvertLong.


这篇关于指定演员表无效。 LINQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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