中的值
private string getPrinterPath()
{
string query1 = "SELECT printerPath FROM Printers WHERE printerFloor = '" + comboBoxFloor.SelectedItem.ToString() + "' AND printerNumber = " + textBoxPrinterNumber.Text.ToString();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand(query1, myDataConnection);
da.Fill(dt);
}
我正在尝试从该查询的执行中返回的字符串。
任何人都可以告诉我如何从DataAdapter获取数据?
我知道我可以
foreach (DataRow dr in dt.Rows)
{
Console.WriteLine(dr["printerPath"].ToString());
}
,但我希望返回1个项目,所以我不想在不必要的时候循环运行它
如果有更好的方法,请告诉我。我也对如何"参数化"我的查询感到困惑,因此我不会直接传递
我通常使用" executesCalar"作为此类内容,这只是返回查询第一行的第一行。
对于参数,您将参数传递到命令。
看起来像这样:
string query1,
result;
query1 = "SELECT printerPath FROM Printers WHERE printerFloor = '?' AND printerNumber = ?";
using (OleDbConnection conn = new OleDbConnection(myDataConnection)) {
OleDbCommand cmd = new OleDbCommand(query1, conn);
cmd.Parameters.AddWithValue("PrinterFloor", comboBoxFloor.SelectedItem.ToString());
cmd.Parameters.AddWithValue("PrinterNum", textBoxPrinterNumber.Text.ToString());
conn.Open();
result = cmd.ExecuteScalar();
}