class OleDbDataConnection
{
public int Initial(string sql)
{
MyConnection=new OleDbConnection(GetString());
MyConnection.Open();
//MyCommand=new OleDbCommand("select * from login where admin_name='"+txtadmin+"'and admin_password='"+txtpwd+"'",MyConnection);
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(sql,MyConnection);
DataSet MyDataSet=new DataSet();
MyAdapter.Fill(MyDataSet,"login");
return MyDataSet.Tables["login"].Rows.Count.ToString();
}
}
class OleDbDataExecute
{
private string txtadmin;
private string txtpwd;
public string GetSelect(string txtadmin,string txtpwd)
{
return "select * from login where admin_name='"+txtadmin+"' and admin_password='"+txtpwd+"'"; }
public int SetSelect()
{
OleDbDataConnection DataConnection=new OleDbDataConnection();
return DataConnection.Initial(GetSelect(txtadmin,txtpwd));
}
}
class web
{
OleDbDataExecute MyExecute=new OleDbDataExecute();
MyExecute.GetSelect(TextBox_admin.Text,TextBox_password.Text);
}
我调试过程中发现段点放在GetSelect处GetSelect(),SetSelect()中的txtadmin,string txtpwd都会有TextBox_admin.Text,TextBox_password.Text的值,但是把断点放到SetSelect()上时我发现SetSelec()中的TextBox_admin.Text,TextBox_password.Text值为null,其中Initial(string sql)和GetSelect处GetSelect(),SetSelect()在不同的类中.请问这是什么回事啊
{
public int Initial(string sql)
{
MyConnection=new OleDbConnection(GetString());
MyConnection.Open();
//MyCommand=new OleDbCommand("select * from login where admin_name='"+txtadmin+"'and admin_password='"+txtpwd+"'",MyConnection);
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(sql,MyConnection);
DataSet MyDataSet=new DataSet();
MyAdapter.Fill(MyDataSet,"login");
return MyDataSet.Tables["login"].Rows.Count.ToString();
}
}
class OleDbDataExecute
{
private string txtadmin;
private string txtpwd;
public string GetSelect(string txtadmin,string txtpwd)
{
return "select * from login where admin_name='"+txtadmin+"' and admin_password='"+txtpwd+"'"; }
public int SetSelect()
{
OleDbDataConnection DataConnection=new OleDbDataConnection();
return DataConnection.Initial(GetSelect(txtadmin,txtpwd));
}
}
class web
{
OleDbDataExecute MyExecute=new OleDbDataExecute();
MyExecute.GetSelect(TextBox_admin.Text,TextBox_password.Text);
}
我调试过程中发现段点放在GetSelect处GetSelect(),SetSelect()中的txtadmin,string txtpwd都会有TextBox_admin.Text,TextBox_password.Text的值,但是把断点放到SetSelect()上时我发现SetSelec()中的TextBox_admin.Text,TextBox_password.Text值为null,其中Initial(string sql)和GetSelect处GetSelect(),SetSelect()在不同的类中.请问这是什么回事啊
{
MyConnection=new OleDbConnection(GetString());
MyConnection.Open();
//MyCommand=new OleDbCommand("select * from login where admin_name='"+txtadmin+"'and admin_password='"+txtpwd+"'",MyConnection);
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(sql,MyConnection);
DataSet MyDataSet=new DataSet();
MyAdapter.Fill(MyDataSet,"login");
return MyDataSet.Tables["login"].Rows.Count.ToString();
}你看清楚你的这个方法返回值是int型的
可是你方法中的return 返回的时string型的----return MyDataSet.Tables["login"].Rows.Count.ToString();
方法定义的类型与方法中返回值语句不符合!
这样就会出错了
{
MyConnection=new OleDbConnection(GetString());
MyConnection.Open();
//MyCommand=new OleDbCommand("select * from login where admin_name='"+txtadmin+"'and admin_password='"+txtpwd+"'",MyConnection);
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(sql,MyConnection);
DataSet MyDataSet=new DataSet();
MyAdapter.Fill(MyDataSet,"login");
return (int)MyDataSet.Tables["login"].Rows.Count;
}
只是那个你添加了断点 程序还没有运行到给txtadmin,txtpwd赋值 当然就是null了
没有仔细看你的代码 我想你的问题应该是这样的 但是有一点 断点放在那儿是不会影响程序执行效果的