每当我在mysql中运行这个查询时,它总是返回3行相同的id,但是不同的记录,但是在我的代码中,它只返回1行。
这是我的密码:
public DataTable DBSelect(string commandSelect)
{
try
{
var sqlComm = new MySqlCommand();
var sql
DataAdapter = new MySqlDataAdapter();
var dt = new DataTable();
clsGlobals.gvConnMy = null;
if (clsGlobals.gvConnMy == null)
{
clsGlobals.gvConnMy = CreateConnection(clsGlobals.gvstrConnString);
}
if (clsGlobals.gvConnMy.State == ConnectionState.Closed)
{
clsGlobals.gvConnMy.Open();
}
sqlComm = clsGlobals.gvConnMy.CreateCommand();
sqlComm.CommandTimeout = 0;
sqlComm.CommandText = commandSelect;
dt.Load(sqlComm.ExecuteReader());
sqlComm.Dispose();
return dt;
2条答案
按热度按时间ghg1uchk1#
我可以通过将dt.load更改为sqldatareader.fill来解决这个问题。
4xy9mtcn2#
根据这一点,我认为这是正常的行为。
loadmethod使用加载的idatareader的第一个结果集,成功完成后,将读取器的位置设置为下一个结果集(如果有)
我认为你必须迭代直到所有的记录都被加载。