我正在回答你自己的问题时写这个问题,因为我找到了问题的解决方案,但如果有人有更好的解决方案,我很乐意听.
在我正在处理的应用程序中,我正在继承ListView控件以添加一些功能,其中一些功能与ListView SelectedIndices和SelectedItems属性进行交互.
问题是,当我尝试对子类进行单元测试时,当我向选择中添加项时,SelectedIndices和SelectedItems属性不会更新.我试过了两个
item.Selected = true
Run Code Online (Sandbox Code Playgroud)
和
listView.SelectedIndices.Add(...)
Run Code Online (Sandbox Code Playgroud)
但SelectedIndices或SelectedItems似乎并未受到影响.单元测试功能的其他部分工作正常.
如何对ListView子类的选择依赖部分进行单元测试?
我在Windows机器上有一个访问数据库,我必须在linux webserver上导入mysql.此时访问dabatbase表导出为文本文件,自动用ftp复制,然后加载到mysql中.
有没有更好的方法来执行此操作,可能使用ODBC连接或其他?
限制已经存在的复制信息的最佳方法是什么,即仅传输访问数据库中但尚未存在于mysql中的记录.
访问数据库由另一个程序处理,如果我不必对其进行更改,甚至打开它,那将是最好的.无法从访问数据库导入更新的记录.mysql数据库将成为主要来源,一些记录将被删除或更改.我只想导入从未在mysql数据库中的记录,而不是还原那些有意删除的记录.
我一直在围绕这个问题跳舞,但它一直在上升.我们有一个系统,我们的表格可以从最初存储为一个描述开始,NVARCHAR(150)然后我们得到一张票,要求将字段大小扩展到250,然后是1000等等......
在我们添加到大多数表的"note"字段和/或"description"字段上重复该循环.当然,我关注的是性能并打破了页面的8k限制.但是,我的另一个问题是通过将系统中的每个表中的这些字段分解为延迟加载的引用,使系统的可维护性降低.
所以在这里我面对的是同样的两个选项,一直盯着我.(欢迎其他人)请借给我你的意见.
更改所有可能的注释和/或说明,NVARCHAR(MAX)并确保我们在所有列表中排除这些字段.基本上永远不会做:SELECT * FROM [TableName]除非它只检索一条记录.
删除所有注释和/或描述字段,并使用对[Notes]表的forign键引用替换它们.
CREATE TABLE [dbo].[Notes] ((
[NoteId] [int] NOT NULL,
[NoteText] [NVARCHAR]MAX)NOT NULL )
显然我更喜欢使用选项1,因为如果我们选择2,它会在我们的系统中发生很大变化.但是如果选项2真的是唯一的好方法,那么至少我可以说这些变化是必要的,我已经完成了家庭作业.
更新:我在一个包含100,000条记录的示例数据库上运行了多次测试.我发现由于集群索引扫描选项1所需的IO大约是选项2所需的两倍.如果我选择大量记录(1000或更多),即使我做了选项1也是两倍慢不包括选择中的大文本字段.随着我请求更少的行,线条模糊更多.我是一个网页应用程序,其中页面大小为50左右是常态,因此选项1将起作用,但我将在(非常)不久的将来将所有实例转换为选项2以实现可伸缩性.
在Access中使用一些VBA代码,当满足一组非常特定的条件时,它会弹出一个InputBox,要求输入一个整数.到现在为止还挺好.
Private Sub Command10_Click()
If Not IsNull(mrf) Then
If min <> max Then
If qty <= min Then
mrf = GetParamValue
End If
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
问题是Not IsNull似乎被忽略了.我希望它要求输入一个值,除非已经存在一个值.只要满足min <> max和qty <= min条件,这就会一直触发InputBox.我在这里错过了什么?
有没有人有任何使用Access 2007与以前版本的Access(即mdb文件)的经验.
我们已经升级,但仍在使用mdb格式.我们的一些代码(特别是Docmd.TransferDatabase acImportReport)现在非常慢.
我尝试了初始测试并将我们的客户端mdb转换为accdb,上面的TransferDatabase似乎表现更好.
我现在想知道我们是否应该咬紧牙关并转换构成应用程序的所有其他文件.复制或用户级安全性似乎不再是旧版本的新版本的唯一限制.我们有一个客户端mdb,三个后端数据库,然后每个3000 mdbs包含一个报告(不要问!).
新版本的执行速度是否比旧版本快 - 特别是在已经困难的网络上?
我正在尝试加速我的代码,瓶颈似乎是来自Access外部通过ODBC的Jet MDB的单独插入语句.我需要一次插入100行,并且必须重复多次.
可以使用SQL代码在表中插入多行吗?这是我尝试过的一些东西,但它们都没有用.有什么建议?
INSERT INTO tblSimulation (p, cfYear, cfLocation, Delta, Design, SigmaLoc,
Sigma, SampleSize, Intercept) VALUES
(0, 2, 8.3, 0, 1, 0.5, 0.2, 220, 3.4),
(0, 2.4, 7.8, 0, 1, 0.5, 0.2, 220, 3.4),
(0, 2.3, 5.9, 0, 1, 0.5, 0.2, 220, 3.4)
INSERT INTO tblSimulation (p, cfYear, cfLocation, Delta, Design, SigmaLoc,
Sigma, SampleSize, Intercept) VALUES
(0, 2, 8.3, 0, 1, 0.5, 0.2, 220, 3.4) UNION
(0, 2.4, 7.8, 0, 1, 0.5, 0.2, 220, 3.4) UNION
(0, 2.3, 5.9, 0, …Run Code Online (Sandbox Code Playgroud) 我目前正处于一个非IT项目,目前有数据需要一些系统分析(数学公式).数据当前存储在Excel中,但手动输入/按下Excel中的数据进行分析是一件痛苦的事.
将数据存储在MS Access中并使用Excel查询Access会更好吗?换句话说,将数据存储在访问中并在Excel中进行分析.能够对数据进行SQL查询也可以简化分析.
如果是这样,您是否有任何网站/书籍描述我将如何从Excel查询Access?
我是Outlook加载项编程的新手,不确定这是否可行:
我想显示一个弹出窗体(或选择),并在他们单击"发送"时询问用户输入.基本上,每当他们发送电子邮件(新邮件或回复邮件)时,都会要求他们在下拉框中选择一个值(最好从SQL数据库中列出项目).根据他们的选择,文本消息将附加到邮件的主题.
我做了我的研究,看起来我应该使用表单区域,但我不确定当用户单击发送时如何显示弹出/额外表单.此外,看起来Form Areas可用于扩展/替换当前的VIEW邮件表单,但我可以将其用于CREATE NEW表单吗?
谢谢大家的时间.
我们的组织在全美50个州设有多个邮政编码办公室.每年都会开设一些新的办事处,一些现有办事处将关闭.几乎忘了:我们有自己的办公室名称.
Year Office Code Zip Code Status
2009 Z10 20701 Open
2009 Z11 20703 Open
2009 Z12 20701 Open
2010 Z10 20702 Open
2010 Z11 moved to 20702 Open
2010 Z12 NA Closed
2010 Z14 20707 Open - Added (didn't exist last year)
Run Code Online (Sandbox Code Playgroud)
我在2009年的现有办公室有一份邮政编码清单.此邮政编码列表在2010年有所不同.
是否有一种直接的方法来比较邮政编码列表和报告关闭/打开/移动了哪些办事处?
我们正在尝试查找代码中的内存泄漏。随着软件运行,我可以看到内存使用量慢慢变得越来越大。每个操作都会在数据库中添加记录。
然后,我想知道,在我们提交更改之前,INSERT 命令中的数据到底去了哪里?数据是否添加到实际数据库文件中并标记为“如果请求则回滚”?或者仅存储在内部存储器中并在提交请求完成时转储?
如果有帮助,我们现在使用 Access。
ms-access ×6
database ×4
excel ×2
.net ×1
c# ×1
conditional ×1
diff ×1
listview ×1
mysql ×1
odbc ×1
outlook-2007 ×1
sql ×1
sql-server ×1
unit-testing ×1
vba ×1
vsto ×1
winforms ×1