我正在使用以下列ExecuteScalar:
cmd.commandtext = "select rodeuser from customer_db_map";
string rodecustomer = cmd.executescalar;
Run Code Online (Sandbox Code Playgroud)
但我需要获得多个专栏,例如:
cmd.commandtext = "select rodeuser,username,password from customer_db_map";
Run Code Online (Sandbox Code Playgroud)
我需要字符串中的每一列:
string rodecustomer = cmd.ExecuteScalar();
string username= cmd.ExecuteScalar();
string password = cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
但这是不可能的.这是如何实现的?
ExecuteScalar执行查询,并返回查询返回的结果集中第一行的第一列.其他列或行将被忽略.
要做到这一点你需要使用SqlCommand.ExecuteReader方法
ExecuteScalar 返回第一行的第一列,因此您可以使用这样的技巧
var m = cmd.commandtext = select str(rodeuser)+','+username+','+password from
(select rodeuser,username,password from customer_db_map)
string[] result=m.ToString().Split(new char[] { ',' });
string rodeuser=result[0];
string username=result[1];
string password=result[2];
Run Code Online (Sandbox Code Playgroud)