一个不算复杂的问题 可是我调试了许久都不知道哪里错了 C#操作ACCESS的
/// <summary>
/// 添加ClassID
/// </summary>
/// <param name= "className "> ID名字 </param>
/// <param name= "parentId "> 父ID名字 </param>
public void InsertAppendClass(string className, int parentId)
{
try
{
this.DataBaseOpen();//打开数据库
string insert = "INSERT INTO Class (ClassName) VALUES (className) ";
OleDbCommand insertCommand = new OleDbCommand(insert, this.conn);
insertCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
this.DataBaseClose();//关闭数据库
}
}
出错提示是这样 看不明白
System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。
在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
在 DocumentManager.Common.SqlHelper.InsertAppendClass(String className, Int32 parentId) 位置 D:\Visual Studio 2005\Projects\DocumentManager\DocumentManager\Common\SqlHelper.cs:行号 87
在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
“DocumentManager.vshost.exe”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_zh-CHS_b77a5c561934e089\mscorlib.resources.dll”,未加载符号。
-----------------------------------
这是调用的地方
DocumentManager.Common.SqlHelper test = new DocumentManager.Common.SqlHelper();
test.InsertAppendClass( "无聊 ",1);
------解决方案--------------------我写过一个C#对ACCESS操作的类,基本上只要是正确的SQL都没有问题。