通常在编程中,不应将浮点数据类型进行相等性比较,因为存储的值通常是近似值.
是否可以可靠地比较两个非整数Oracle NUMBER值的相等性,因为它们的存储方式不同(基数为10)?
我正在设计一个新的实验室数据库,其中包含许多类型的主要实体.
每个实体的表将包含该实体的所有类型(entity_id,created_on,created_by等)共有的字段.然后,我将使用具体的继承(每个唯一属性集的单独表)来存储所有剩余的字段.
我相信这是每天通过实验室提供的标准数据类型的最佳设计.但是,我们经常会有一些特殊的样本,这些样本通常伴随着发起者想要存储的特定值.
问题:我应该如何建模特殊(非标准)类型的实体?
选项1:用于特殊领域使用的实体价值的
一个表(entity_id,attribute_name,numerical_value)将持有的所有数据进行任何特殊的实体.
+更少的桌子.
- 无法强制要求特定属性.
- 必须将行(数据透视)转换为低效的列.
选项2:严格的具体继承.
为每个单独的特殊情况创建单独的表.
+遵循所有其他规则
- 只有几行的许多表的开销.
选项3:具有不同用户下的特殊表的具体继承.
将所有特殊表放在不同的用户下.
+保持所有特殊和标准表分开.
+更容易在列表中搜索通用标准表而无需搜索所有特殊表.
- 只有几行的许多表的开销.
NULL当我明确过滤掉Where子句中的那些行时,为什么以下查询会为具有桶值的行引发下面的错误?
Dim query = From row As dbDataSet.conformalRow In dbDataSet.Tables("conformal") _
Where Not IsDBNull(row.Cal) AndAlso tiCal_drop.Text = row.Cal _
AndAlso Not IsDBNull(row.Tran) AndAlso tiTrans_drop.Text = row.Tran _
AndAlso Not IsDBNull(row.barrel) _
Select row.barrel
If query.Count() > 0 Then tiBarrel_txt.Text = query(0)
Run Code Online (Sandbox Code Playgroud)
Run-time exception thrown : System.Data.StrongTypingException - The value for column 'barrel' in table 'conformal' is DBNull.
如何重写我的查询/条件以按照我的意图工作?
我想在一个表的主键与另一个表的属性之间创建(并强制执行)多个"一对多"关系.
希望这个例子能更好地解释.我在游戏中有一个角色表.角色可以在每只手中持有一个项目:
Table: GamePlayer
gamePlayerID Number PK
name Text Unique
classID Number FK->PlayerClass.classID
leftHandItem Number FK->Items.itemID
rightHandItem Number FK->Items.itemID
Run Code Online (Sandbox Code Playgroud)
如何实施leftHandItem -> Items.itemID和rightHandItem -> Items.itemID强制执行参照完整性.
结束目标:有效地(一次通过)读取所有CellRecords巨大的(30,000多行),受保护Worksheet.
问题:HSSF.EventUserModel如何
使用,如何读取具有工作簿和工作表保护的XLS文件的所有内容Record(包括CellRecords)?
创建输入电子表格(在Excel 2010中):
迄今取得的进展:
new HSSFWorkbook(Stream fs).但是,我需要EventUserModel实际电子表格的效率.NPOI.HSSF.Record.Crypto.Biff8EncryptionKey.CurrentUserPassword = "pass1";不起作用.ProcessRecord( )函数捕获了一个PasswordRecord,但我找不到任何关于如何正确处理它的文档.EncryptionInfo或Decryptor类可能有一些用途.注意:
我正在使用NPOI.但是,我可以将任何Java示例翻译为C#.
代码:
我使用以下代码捕获Record事件.我Book1-unprotected.xls(没有保护)显示所有Record事件(包括单元格值).我Book1-protected.xls显示一些记录并抛出异常.
我只是processedEvents在调试器中查看.
using System;
using …Run Code Online (Sandbox Code Playgroud) 可以通过约束在Oracle中完全建模一对一关系吗?换句话说,PARENT实体总是完全具有子实体的n-CHILDREN,并且每个孩子只有一个父母.
将n视为数据库常量.
我希望这是一个命令按钮而不是提交按钮,这样当用户按下"提交"按钮时,"点击".
ASP Code:
<asp:Button CommandName="StartButtonName" CommandArgument="soo"
CausesValidation="false" ID="StartButton" Text="..."
Visible="false" runat="server" OnClick="StartButton_Click" />
Generated HTML code
<input type="submit" name="ctl00$ContentPlaceHolder1$StartButton"
value="..." id="ctl00_ContentPlaceHolder1_StartButton" />
Run Code Online (Sandbox Code Playgroud)
为什么我的ASP代码没有生成命令按钮?
在这个例子中,产生一个错误,如果任一row.FirstName或row.LastName是NULL.
如何重写该Select子句,将DBNull值转换为空字符串""?
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select row.FirstName, row.LastName
Run Code Online (Sandbox Code Playgroud)
注意:由于DataSet是强类型的.我可以使用row.isFirstNameNull(),但IIF(row.isFirstNameNull(), "", row.FirstName)由于引用了所有参数,因此无法工作.
用下面的getFile函数中使用的ByVal和ByRef参数编写函数是不是被认为是不好的做法(VB.NET或任何语言)?
Function getFile(ByVal channel As Integer, _
ByRef Filename As String, _
ByRef Filesize As String) As Integer
...
End Function
...
Dim status As Integer
Dim filename As String
Dim filesize As Integer
For channel In 1 To 16
status = getFile(channel, filename, filesize)
...
Next channel
Run Code Online (Sandbox Code Playgroud)