登录表单,包含用户权限 [英] Login Form with Permissions for users

查看:67
本文介绍了登录表单,包含用户权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨...

i希望为用户创建具有权限的登录表单...



但错误:关键字附近的语法不正确'用户' - > User =我的表名



DataAccess类:



hi ...
i want create Login Form with Permissions for users ...

but Error : Incorrect syntax near the keyword 'User' --> User = my Table name

DataAccess Class :

SqlConnection con;
        SqlCommand com;
        SqlDataAdapter da;

        public DataAccess()
        {
            con = new SqlConnection();
            com = new SqlCommand();
            da = new SqlDataAdapter();
            com.Connection = con;
            da.SelectCommand = com;
        }

        public void Connect()
        {
            con.ConnectionString = @"Data Source=.;Initial Catalog=Test;Integrated Security=True";
            con.Open();
        }

        public void Disconnect()
        {
            con.Close();
        }

        public void Execute(string SQL)
        {
            com.CommandText = SQL;
            com.ExecuteNonQuery();
        }

        public DataTable SELECT(string SQL)
        {
            DataTable dt = new DataTable();
            com.CommandText = SQL;
            da.Fill(dt);
            return dt;
        }





用户级别:





Users Class :

DataAccess DA = new DataAccess();

        public static bool M = false;
        public static bool S = false;
        public static bool B1 = false;
        public static bool B2 = false;

        public int ID;
        public string Nam;
        public string Pas;
        public bool Mnu;
        public bool Str;
        public bool Btn1;
        public bool Btn2;

        public void Sath(string name)
        {
            DA.Connect();
            string sql = "Select * From User Where Nam = '{0}' ";
            sql = string.Format(sql, name);
            DataTable dt = DA.SELECT(sql);
            DA.Disconnect();

            M = Convert.ToBoolean(dt.Rows[0]["Mnu"].ToString());
            S = Convert.ToBoolean(dt.Rows[0]["Str"].ToString());
            B1 = Convert.ToBoolean(dt.Rows[0]["Btn1"].ToString());
            B2 = Convert.ToBoolean(dt.Rows[0]["Btn2"].ToString());
        }

        public bool Login(string Name, string Pass)
        {
            DA.Connect();
            string sql = "Select Count(*) From User Where Nam = '{0}' And Pas = '{1}'";
            sql = string.Format(sql,Name,Pass);
            DataTable dt = new DataTable();
            dt = DA.SELECT(sql);
            DA.Disconnect();

            bool Enter = false;
            if (dt.Rows[0][0].ToString() == "1")
            {
                Enter = true;
            }
            return Enter;
        }

        public void ADD()
        {
            DA.Connect();
            string sql = "Insert Into User (ID,Nam,Pas,Mnu,Str,Btn1,Btn2)";
            sql += "Values ({0},'{1}','{2}','{3}','{4}','{5}','{6}')";
            sql = string.Format(sql, this.ID, this.Nam, this.Pas, this.Mnu, this.Str, this.Btn1, this.Btn2);
            DA.Execute(sql);
            DA.Disconnect();
        }

        public DataTable ShowData()
        {
            DA.Connect();
            DataTable dt = DA.SELECT("Select * From User");
            DA.Disconnect();
            return dt;
        }





键输入:





Key Enter :

Users us = new Users();
            if (us.Login(textBox2.Text, textBox1.Text) == true)
            {
                us.Sath(textBox2.Text);

                this.Hide();
                Form2 f2 = new Form2();
                f2.Show();
            }
            else
                MessageBox.Show("unvalid pass");

推荐答案

用户是SQL Server中的关键词用方括号包裹。



User is a key word in SQL Server it must be wrapped with Square brackets.

string sql = "Select * From [User]  Where Nam = '{0}' ";

string sql = "Select Count(*) From [User] Where Nam = '{0 }' And Pas = '{1}'";

string sql = "Insert Into [User] (ID,Nam,Pas,Mnu,Str,Btn1,Btn2)";




用户是sql server中的关键字,但您使用的是标识符。要解决这个问题,请将用户放在双引号或方括号中。如下所示



string sql =select * from \User \where nam = {0}; --->在C#.net中我们认为(\)为()







string sql =select * from [User] where name = {0};
Hi,
User is key word in sql server, but you are using as identifier. To solve this put User in double quotes or in square brackets. like below

string sql="select * from \"User\" where nam={0}";---> in C#.net we consider (\") as (")

or

string sql="select * from [User] where name={0}";


hi guy's ...

此项目是具有权限的登录用户。

如何添加编辑和Del到此项目 - >管理员



如何添加编辑:用户名并传递给此项目 - >用户



谢谢
hi guy's ...
this project is a login user with permissions .
How to Add edit & Del To This Project --> Admin

How to Add edit : username & pass To This Project --> user

thank's


这篇关于登录表单,包含用户权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆