【发布时间】:2014-11-07 12:04:55
【问题描述】:
我在显示我的数据库表中的内容时遇到问题。我已按照课堂指示进行操作,但我被困了 2 天没有成功!
这是我到目前为止所做的;
string conStr = @"Data Source=C:\Users\secwp_000\documents\visual studio 2012\Projects\Module5\Module5\Orderdatabase.sdf";
SqlCeConnection con = new SqlCeConnection(conStr);
SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM Order", con);
SqlCeDataAdapter adapt = new SqlCeDataAdapter(cmd);
DataSet ds = new DataSet();
adapt.Fill(ds, "Order");
foreach (DataTable dt in ds.Tables)
{
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
Console.WriteLine(row[column]);
}
}
}
当我运行代码时,我在 adapt.Fill(ds, "Order"); 上出现错误,说 An unhandled exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in System.Data.SqlServerCe.dll。我不太明白。
编辑:我的数据连接是;
数据连接 订单数据库.sdf 表 命令 列 订单编号 ETC..为 Nicks 解决方案添加输出:
System.Data.SqlServerCe.SqlCeException (0x80004005):解析查询时出错。 [令牌行号=1,令牌行偏移量=21,错误令牌=订单] vid System.Data.SqlServerCe.SqlCeCommand.ProcessResults(Int32 小时) vid System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan() vid System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior 行为,String 方法,ResultSetOptions 选项) vid System.Data.SqlServerCe.SqlCeCommand.ExecuteDbDataReader(CommandBehavior 行为) vid System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(命令行为行为) vid System.Data.Common.DbDataAdapter.FillInternal(DataSet 数据集,DataTable [] 数据表,Int32 startRecord,Int32 maxRecords,String,srcTable,IDbCommand 命令,CommandBehavior 行为) vid System.Data.Common.DbDataAdapter.Fill(数据集数据集,Int32 startRecord,Int32 maxRecords,字符串 srcTable,IDbCommand 命令,CommandBehavior 行为) vid System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) vid Module5.Program.Main(String[] args) i c:\Users\secwp_000\Documents\Visual Studio 2012\Projects\Module5\Module5\Program.cs:rad 54编辑:这是 atm 的图片。 http://oi61.tinypic.com/9pq70l.jpg
【问题讨论】:
-
欢迎来到 Stack Overflow。堆栈跟踪到底是什么?请阅读FAQ、How to Ask 和help center 作为开始..
-
谢谢!对不起,我从来没有遇到过这个词。所以我不知道。
-
尝试在您的adapter.fill 周围放置一个try catch 语句。在您的 catch 语句中,将您的 e 放入一个消息框中,它将为您提供有关您的错误的更多信息。也是一件愚蠢的小事:您确定您的表 Order 在您的数据库中使用大写字母吗?愚蠢的错误,但我已经犯过很多次了。
-
不幸的是,我无法发布图片,但在服务器资源管理器中的表格下,表格名为“订单”。我不知道在 catch 之后要写什么,我们已经处理过大麦。
-
像这样使用它:尝试 { adapt.fill(ds, "Order"); } catch (Exception e) {Messagebox.Show(e.toString());}
标签: c# database visual-studio-2012 sql-server-ce adapter