Re: Memory leak(strings) in DbDataAdapter.Fill

Tech-Archive recommends: Fix windows errors by optimizing your registry




yes, call

see this example
protected override void LoadDataset(string objId,string
idFieldName, DataSet dSet)
{
ArrayList adapters;
//Create new adapters for this dataset
adapters = CreateAdapters(dSet, objId,idFieldName);
//Fill each table in dataset using corresponding adapter
dSet.Clear();
foreach (OleDbDataAdapter adapter in adapters)
{
adapter.Fill( dSet, adapter.TableMappings[0].DataSetTable );
adapter.Dispose();
}
adapters.Clear();
}

//Creates oleDbadapters array for given dataset
private ArrayList CreateAdapters(DataSet dSet, string Id, string
idFieldName)
{
ArrayList adapters = new ArrayList();
OleDbCommand selComm;
//Create adapter for each table
foreach(DataTable dt in dSet.Tables)
{
if (Id!="" && idFieldName!="")
{
selComm = new OleDbCommand("SELECT * FROM "+dt.TableName+"
WHERE ["+idFieldName+"]=@ID", m_conn);
OleDbParameter par2 =
selComm.Parameters.Add("@ID",OleDbType.Char);
par2.Value=Id.ToString();
par2.Size=Id.ToString().Length;
}
else
{
string command = "SELECT * FROM "+dt.TableName;
string order;
if ((order = (string)dt.ExtendedProperties ["Order"]) !=
null)
command += " " + order;
selComm = new OleDbCommand(command, m_conn);
}

OleDbDataAdapter adapter = new OleDbDataAdapter(selComm);
adapter.TableMappings.Add(dt.TableName,dt.TableName);

adapters.Add(adapter);
}
return adapters;

so after load i have problems :(


--
lonli
------------------------------------------------------------------------
lonli's Profile: http://www.msusenet.com/member.php?userid=986
View this thread: http://www.msusenet.com/t-1870407886

.