向插入参数添加值时引发的异常

本文关键字:异常 插入 参数 添加 | 更新日期: 2023-09-27 18:15:19

我试图创建一个访问数据库,并添加一个表与一些值。由于某些原因,下面的代码在向插入参数中添加整数时抛出异常。有人能指出哪里有问题吗?

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版本。