我正在使用Visual Studio 2008和C#.
我有一个.xsd文件,它有一个表适配器.我想更改表适配器的命令超时.
谢谢你的帮助.
连接超时= 0的优点和缺点是什么?
Connection Lifetime = 0的用途是什么?
例如
(Database=TestDB;
port=3306;
Uid=usernameID;
Pwd=myPassword;
Server=192.168.10.1;
Pooling=false;
Connection Lifetime=0;
Connection Timeout=0)
Run Code Online (Sandbox Code Playgroud)
什么是连接池的用途?
我有一个带有QueriesTableAdapter的DataSet.为了控制SqlCommand.CommandTimeout,我添加了一个名为QueriesTableAdapter的分部类,其中包含一个名为ChangeTimeout的公共方法.
partial class QueriesTableAdapter
{
public void ChangeTimeout(int timeout)
{
foreach (System.Data.SqlClient.SqlCommand cmd in CommandCollection)
{
cmd.CommandTimeout = timeout;
}
}
}
Run Code Online (Sandbox Code Playgroud)
对于每个拥有QueriesTableAdapter的DataSet,我可以在执行之前设置CommandTimeout.
using (NameSpace.DataSet.DataSetTableAdapters.QueriesTableAdapter ta =
new NameSpace.DataSet.DataSetTableAdapters.QueriesTableAdapter())
{
ta.ChangeTimeout(3600);
ta.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下都很有效,因为"QueriesTableAdapter"是在DataSet设计器中为您命名的.我遇到的问题是具有唯一名称的TableAdapter.例如,如果我有一个名为Person的DataTable和一个名为PersonTableAdapter的TableAdaper,我必须像编写QueriesTableAdaper类一样编写PersonTableAdapter分部类.我有数百个具有唯一TableAdapter名称的DataTable.我不想为每个人创建一个部分类.如何以全局方式访问部分类的基础SqlCommand对象?