两个问题:
1)MySQLDataReader sdr=cmd.ExecuteReader();
错误 1 无法将类型“System.Data.Common.DbDataReader”隐式转换为“MySQLDriverCS.MySQLDataReader”。存在一个显式转换(是否缺少强制转换?)
这个地方改怎么写啊2)在windows窗体程序里
验证完了如何通过验证跳转到主窗口
loginfrom-》mianfrom
怎么用这个show方法啊
我mainFrom.show()编译说没有mainFrom

解决方案 »

  1.   

    1.显示转换类型的话·····
    MySQLDataReader sdr=(MySQLDriverCS.MySQLDataReader)cmd.ExecuteReader();,
    如果两个类型的定义相差很大,你就是转了也出问题。2.又是一个登录界面的问题······
    首先你新建的项目中的main()函数是这样写的
    main()
    {
       application.run(new form1);
    }
    application就是你这个程序运行起来的主线程,也就是进程,如果你退出了form1,那么你的进程就结束了。如果要做LoginForm的话,建议你在主线程开始之前Show一个Form出来,象这样:
    main()
    {
        Form_log = frm_log = new Form_log();
        frm_log.showdialog();
        if( frm_log.dialogresult == dialogresult.OK )
        {
           application.run(new form1());
        }
    }
    在你的frm_log中,如果验证成功,那么你就将这个form的dialogresult设置dialogresult.OK,验证失败,设置为dialogresult.No。
    至于你说的“编译说没有mainFrom” 你描述的不清楚,还看不出来在哪出问题了,但是关键在于你在什么地方show的。难道你是这样做的?
    main()
    {
      application.run(new Form_log());
      MainForm mainform = new MainForm();
      mainform.show);
    }
    如果你是这样做的你的主线程都退出了,你show不出来的。
      

  2.   


    我一开始做错了
    我的登陆窗体是主线程
    所以关闭了没有进程了
    现在我照你的样子改了
    但是我不理解
      static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                LoginForm login = new LoginForm();
                login.ShowDialog();
                if (login.DialogResult == DialogResult.OK)
                {
                    Application.rum(new mainFrom());
                }
            }
        } 
    错误 1 “System.Windows.Forms.Application”并不包含“rum”的定义
    错误 2 找不到类型或命名空间名称“mainFrom”(是否缺少 using 指令或程序集引用?)
    我的登陆窗体名是loginFrom
    主程序的名是mainFrom怎么能说不存在呢
    我放在mainFrom()对象下都不行