小编Mar*_*own的帖子

ADO.NET连接和DataAdaptor对象范围的最佳实践

这是我在StackOverflow上的第一篇文章,所以请温柔一点......

我对ADO.NET的对象范围有一些疑问.

当我连接到数据库时,我通常使用这样的代码:

OleDbConnection conn = new OleDbConnection("my_connection_string");
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * from Employees", conn);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);
DataTable dt = new DataTable();
adapter.Fill(dt);
conn.Close();
conn.Dispose();
Run Code Online (Sandbox Code Playgroud)

假设我将生成的DataTable绑定到网格控件,并允许我的用户编辑网格内容.现在,当我的用户按下"保存"按钮时,我需要调用此代码:

adapter.Update(dt);
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

1)我是否需要保留最初加载数据表时创建的适配器对象,还是可以在"保存"按钮单击事件中创建另一个适配器对象来执行更新?

2)如果我确实需要保留原始适配器对象,是否还需要保持连接对象可用并打开?

我理解ADO.NET的断开模型 - 我只是在更新数据库时对对象范围感到困惑.如果有人能给我一些关于这个场景的最佳实践的指示,我将不胜感激!

提前致谢...

ado.net

7
推荐指数
1
解决办法
3087
查看次数

更新后出现异常的Subversion文件夹

我使用Subversion大约2年来管理一个大型的C#项目.在最近的Subversion更新中,我的源代码文件夹中添加了许多新文件夹:

\ conf
\ db
\ locks
\ hooks

更新期间还添加了35个以上的文件,全部出现在4个新文件夹下.

我没有改变任何客户端(我使用TortoiseSVN)或与Subversion相关的服务器软件,所以我很困惑为什么这些文件夹和文件突然被引入.看起来与Subversion的内部工作相关的文件现在是我的源代码存储库的一部分,这似乎也很奇怪.

有谁可以解释为什么会这样?


马克,先谢谢你

svn

4
推荐指数
1
解决办法
1260
查看次数

帮助SQL - 将两行合并为一行

我有一个有趣的SQL问题,我需要帮助.

以下是示例数据集:

Warehouse  DateStamp   TimeStamp  ItemNumber  ID
    A       8/1/2009    10001         abc      1
    B       8/1/2009    10002         abc      1 
    A       8/3/2009    12144         qrs      5
    C       8/3/2009    12143         qrs      5
    D       8/5/2009    6754          xyz      6
    B       8/5/2009    6755          xyz      6
Run Code Online (Sandbox Code Playgroud)

此数据集表示两个仓库之间的库存转移.有两个记录代表每次传输,这两个传输记录总是具有相同的ItemNumber,DateStamp和ID.两个传输记录的TimeStamp值始终为1,其中较小的TimeStamp表示源仓库记录,较大的TimeStamp表示目标仓库记录.

使用上面的示例数据集,这是我需要的查询结果集:

Warehouse_Source  Warehouse_Destination  ItemNumber  DateStamp
    A                B                      abc       8/1/2009
    C                A                      qrs       8/3/2009
    D                B                      xyz       8/5/2009   
Run Code Online (Sandbox Code Playgroud)

我可以编写代码来生成所需的结果集,但我想知道这个记录组合是否可以通过SQL实现.我使用SQL Server 2005作为我的底层数据库.我还需要向SQL添加一个WHERE子句,例如,我可以在Warehouse_Source = A上搜索.不,我无法更改数据模型;).

任何意见是极大的赞赏!

问候,马克

sql pivot sql-server-2005

0
推荐指数
1
解决办法
9705
查看次数

标签 统计

ado.net ×1

pivot ×1

sql ×1

sql-server-2005 ×1

svn ×1