我有这个C#代码从MDB文件获取第一个查询并执行它:
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb");
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Procedures, null);
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = dt.Rows[0]["PROCEDURE_DEFINITION"].ToString();
cmd.ExecuteReader();
我在最后一行收到错误,因为我没有给出所需参数的值。我希望此代码可以使用任意数量的参数查询,那么如何从给定查询中获取Access的参数列表?这样我就可以提示用户为每个提供值,比如Access。
我认为我不能自己解析它们,因为查询可能如下所示:
从[名称] = [昵称]
的订单中选择*在不知道表的所有字段名称的情况下(使用大量JOINS变得非常复杂),我不知道[Name]是表中的列还是需要提供的参数,与[昵称]。我想我可以查找更多的模式信息来获取所有的字段名称...但希望有一种更简单的方法吗?
我正在尝试创建一个Winforms .NET C#表单,其中包含来自给定MDB文件的查询列表。用户可以选择任何这些查询,然后我将在DataGridView中显示结果。为了显示结果,我需要执行查询,但如果我没有提供正确的参数,我就无法执行查询。