- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有两个表 orders
和 orderdetails
表订单(PK = id,orderno 上的 UNIQUE 索引)
|id|orderno|
| 1|1000 |
| 2|1001 |
表订单详情(PK = id)
|id|orderid|item|qty|
| 1| 1|ABC | 3|
| 2| 1|XYZ | 4|
现在我想查询数据:
SELECT o.orderno, od.item, od.qty
FROM orders o
INNER JOIN orderdetails od ON o.orderno = od.order
返回:
|orderno|item|qty|
|1000 |ABC | 3|
|1000 |XYZ | 4|
但是,如果我使用以下代码将结果加载到 DataTable 中,则会失败:
var connectionString = "Server=localhost;Database=orders;Uid=root;";
var commandText = "SELECT o.orderno, od.item, od.qty" + Environment.NewLine +
"FROM orders o" + Environment.NewLine +
"INNER JOIN orderdetails od ON o.orderno = od.order";
var reader = MySqlHelper.ExecuteReader(connectionString, commandText);
var table = new DataTable("OrdersQuery");
table.Fill(reader); // throws ConstraintException
问题是,
table.Constraints[0]
是 orderno 列上的 UniqueConstraints
。可能是因为
reader.GetSchemaTable()
有一个用于 orderno 的 IsUnique=true
条目(在基表中为 true,但对于连接查询则不是)。
更糟糕的是,这也无济于事:
table.BeginLoadData(); // msdn docs claim that this should disable constraints
table.Load(reader);
table.EndLoadData();
有什么办法解决这个问题吗?
堆栈跟踪:
System.Data.ConstraintException Was Unhandled.
Message=Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
Source=System.Data
StackTrace:
bei System.Data.DataTable.EnableConstraints()
bei System.Data.DataTable.set_EnforceConstraints(Boolean value)
bei System.Data.DataTable.EndLoadData()
bei System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
bei System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
bei System.Data.Common.LoadAdapter.FillFromReader(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
bei System.Data.DataTable.Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler)
bei System.Data.DataTable.Load(IDataReader reader)
最佳答案
我遇到了同样的问题,但通过使用这篇文章中的解决方法解决了它:http://bugs.mysql.com/bug.php?id=65065 (在底部):
cmd.CommandText = "SELECT cam.no_serie, t.mnt FROM trx t LEFT JOIN camn cam USING(id_camn) ";
MySqlDataReader dr = cmd.ExecuteReader();
DataSet ds = new DataSet();
DataTable dataTable = new DataTable();
ds.Tables.Add(dataTable);
ds.EnforceConstraints = false;
dataTable.Load(dr);
dr.Close();
关于c# - MySqlDataReader: DataTable.Fill(reader) 抛出 ConstraintException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580929/
我需要为客户端调整 bittrex api: LIMIT_BUY 或 LIMIT_SELL(和 CANCEL)订单到目前为止有效。 但是他遇到了部分填充的问题。 api 文档。在他们的网站上没有提到这
所以我发现 color 数据类型实际上是一个 int,阅读了一些有关位移位的内容,目的是让自己成为一个类来处理这个问题。 这是基本代码(没有 getters/setters,所有内容都是 public
这个问题在这里已经有了答案: Unexpected behavior using Array Map on an Array Initialized with Array Fill [duplica
当我在 zoom to fill screen 和 stretch to fill screen 之间切换时,我的应用程序会崩溃。顺便说一下,我注意到市场上很多应用程序都有这个问题。有谁知道如何避免这
Sample Text Here Sign Up 我有上面的 HTML 部分,我正在尝试
在html中我可以设置背景图片的下面属性吗?(图片在iOS中我可以像下面这样设置图片的填充属性,但我不知道html中是否有类似的属性): Scale to Fill, Aspect Fit, Aspe
我对 HTML 上一个填充和另一个填充之间的现有空间感到困扰。每个填充物都适合倾斜的一侧。我希望完全填满这条线,但还有空间。 这是示例代码: var canvas = document.createE
考虑 pygame 循环中的这一行: pygame.display.set_mode().fill((0, 200, 255)) 发件人:http://openbookproject.net/thin
我在一个系统上观察到 std::fill在大 std::vector设置常量值 0 时明显且始终较慢与常数值 1 相比或动态值: 5.8 GiB/s 对比 7.5 GiB/s 但是,对于较小的数据大小
我正在做一个元素。在那个元素中,我需要一个 div 的渐变背景。我只需要一种颜色来填充 40px。另一种颜色填充计算(100%-40px)。我从来没有这么深入地玩过渐变。我的 40px 颜色是 rgb
我正在使用的 API 的用户注册代码一直存在问题。 我有一个 UserController,它获取发布的数据并验证字段。然后它将数据发送到我的 UserService 类中的 SignUpUser 方
Facebook AudienceNetwork 加载失败:无填充,错误消息“无填充”,FaceBook android Advertise 的原因是什么? Facebook 广告经常显示加载频率,频
我在 UITableViewCell 中使用了 UIImageView,它将填充 contentView。我尝试了不同的模式,如“缩放以填充”、“Aspect Fit”、“” Aspect Fill”
这个问题已经有答案了: Array.fill(Array) creates copies by references not by value [duplicate] (3 个回答) 已关闭 4 年前
问题 我将我的一些图像放在 /assets/images 文件夹中。然后在 layouts/_default/single.html 中,我为不同的屏幕尺寸创建了一个主图部分,如下面的代码所示。问题是
我知道有 CGContextClearRect ,尽管它可以让你清除 drawRect 类中的所有内容。我如何选择一个 CGContextRef 并清除它?对于我的情况,我的代码如下: //Put c
我有一个包含 3 列的 Tlistview,我需要来自 Tcollection 对象,如下所示 FListeDispoProduit := TListeDispoProduit.Create(TPro
有没有办法抑制babel提供的polyfill?例如,转译以下内容: const obj = { a: 1 }; const obj2 = { ...obj }; 将输出 var _extends =
如何使用 Excel 中的 VBA(所有单元格)将所有工作表填充颜色设置为无填充。与选择所有工作表相同,选择所有单元格 (Control+A) 并将填充颜色更改为无填充。 最佳答案 未经测试,但应该可
我想知道如何在数组上应用洪水填充,我的数组是二维的,其中包含 times new roman 字体类型的字母边界。边界线包含 1,内外全为 0。我只想在内部填充所有 1 而不是 0。但我需要一个不需要
我是一名优秀的程序员,十分优秀!