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()在不同的类中.请问这是什么回事啊

解决方案 »

  1.   

    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();

             }你看清楚你的这个方法返回值是int型的
    可是你方法中的return 返回的时string型的----return MyDataSet.Tables["login"].Rows.Count.ToString();
     方法定义的类型与方法中返回值语句不符合!
    这样就会出错了
      

  2.   

    改成: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 (int)MyDataSet.Tables["login"].Rows.Count;

             }
      

  3.   

    根断点是没有关系的 
    只是那个你添加了断点  程序还没有运行到给txtadmin,txtpwd赋值 当然就是null了
    没有仔细看你的代码 我想你的问题应该是这样的 但是有一点  断点放在那儿是不会影响程序执行效果的