C# 向插入参数添加值时引发异常
我正在尝试创建一个Access数据库,并添加一个带有一些值的表。由于某些原因,下面的代码在向Insert参数中添加整数时引发异常。有人能发现可能出了什么问题吗C# 向插入参数添加值时引发异常,c#,ado.net,C#,Ado.net,我正在尝试创建一个Access数据库,并添加一个带有一些值的表。由于某些原因,下面的代码在向Insert参数中添加整数时引发异常。有人能发现可能出了什么问题吗 var Name = DateTime.Now.ToString("H_mm_ss"); ADOX.CatalogClass cat = new ADOX.CatalogClass(); cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+ "
var Name = DateTime.Now.ToString("H_mm_ss");
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source="+ "C:\\test\\" + Name + ".mdb;" +
"Jet OLEDB:Engine Type=5");
ADODB.Connection con = cat.ActiveConnection as ADODB.Connection;
ADOX.Table t = new Table();
t.Name = "Table1";
t.Columns.Append("Field1", ADOX.DataTypeEnum.adInteger);
t.Columns.Append("Field2", ADOX.DataTypeEnum.adVarWChar, 50);
cat.Tables.Append(t);
ADODB.Command cmdInsert = new ADODB.Command();
cmdInsert.ActiveConnection = con;
cmdInsert.CommandText = "INSERT INTO Table1(Field1, Field2)" + " VALUES (?, ?)";
cmdInsert.CommandType = ADODB.CommandTypeEnum.adCmdText;
ADODB.Parameter param1 = cmdInsert.CreateParameter(
"Field1", // Parameter name
ADODB.DataTypeEnum.adInteger, // Parameter type
ADODB.ParameterDirectionEnum.adParamInput, // Parameter direction
-1, // Max size of value in bytes
69); // Parameter value
// throws InvalidCastException
cmdInsert.Parameters.Append(param1);
事实证明,改为ADODB 2.7版解决了我的问题。创建此线程时,我使用的是2.8版。有什么例外?我现在不在工作,但我相信这是一个InvalidCastException。