Ich habe erfolgreich meine Methode zum Ausführen eines Auswahlbefehls aufgebaut. Es funktioniert gut. Dann ändere ich meinen Code für SqlDataAdapter DA = new SqlDataAdapter();
Ich versuche SqlCommand in SqlDataAdapter als Parameter zu übergeben
Ich habe versucht, SqlCommand
als CommandType.Text
in den Parametern übergeben, aber ich kann es nicht erfolgreich. Ich bekomme einen Fehler. Gibt es einen Weg, wenn ich es als Parameter übergeben kann. Bitte sehen Sie meinen Code.
Laufcode (aspx Seite Code)
if ((!string.IsNullOrEmpty(user_login.Value)) && (!string.IsNullOrEmpty(user_pass.Value)))
{
// username & password logic
DataTable dt = new DataTable();
string strQuery = "SELECT 1 FROM TBL_USER_INFO WHERE USERNAME = @USERNAME AND PASSWORD = @PASSWORD";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.Add("@USERNAME", SqlDbType.VarChar).Value = user_login.Value.Trim();
cmd.Parameters.Add("@PASSWORD", SqlDbType.VarChar).Value = user_pass.Value.Trim();
DBConnection conn_ = new DBConnection();
dt = conn_.SelectData(cmd);
if (conn_.SQL_dt.Rows.Count > 0)
{
Response.Redirect("Home.aspx", false);
}
}
Erfolgreiche Verbindung Klassencode
public DataTable SelectData(SqlCommand command)
{
try
{
conn.Open();
SqlDataAdapter DA = new SqlDataAdapter();
command.CommandType = CommandType.Text;
command.Connection = conn;
DA.SelectCommand = command;
DA.Fill(SQL_dt);
return SQL_dt;
}
catch (Exception ex)
{
return null;
}
finally
{
conn.Close();
}
}
Wie kann ich passieren CommandType.Text
als Parameter für SqlDataAdapter
?
Fehlercode
public DataTable SelectData(SqlCommand command)
{
try
{
conn.Open();
SqlDataAdapter DA = new SqlDataAdapter(command.CommandType.ToString(), conn);
// command.CommandType = CommandType.Text;
// command.Connection = conn;
DA.SelectCommand = command;
DA.Fill(SQL_dt);
return SQL_dt;
}
catch (Exception ex)
{
return null;
}
finally
{
conn.Close();
}
}
ich diese Störung erhalte:
System.InvalidOperationException: Fill: SelectCommand.Connection property has not been initialized.
at System.Data.Common.DbDataAdapter.GetConnection3(DbDataAdapter adapter, IDbCommand command, String method)...
Sie können sogar versuchen fangen, um die Fehler zurück zu bekommen .. –