我目前正在使用 DataSet 处理 MySQL 数据库。问题是它使用了大量内存(正如我在网上的某个地方发现的那样,它使用了几乎 4 倍的内存,而不是使用 DataReader 时)。我在想的是制作一个将 DataReader 用于 SQL SELECT 命令的函数。
我目前正在考虑的是(示例):
public void GetData(string name,string surname, string company)
{
string selectCommand="";
selectCommand += "SELECT * FROM thetable ";
if (txtName.Text!="" || txtSurname.Text!="" || txtCompany.Text!="")
selectCommand += "WHERE ";
if (txtName.Text!="")
selectCommand += "name=" + txtName.Text+ " ";
if (txtSurname.Text!="")
selectCommand += "surname=" + txtSurname.Text + " ";
if (txtCompany)
selectCommand += "company=" + txtCompany.Text + " ";
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(selectCommand+";",conn);
///etc...
}
但我觉得这是一种错误的方式。首先,我没有使用参数。第二件事是它看起来有点脏。任何人都可以请提出一些建议。