I am trying to access all the records from the database in the form of a data grid depending on the type of user login to the system through a form containing 2 text fields for the username and password, respectively, as well as for the records of the submit button. But the code I wrote gives me the following error: text data types and varchar are incompatible in the equal operator. Please suggest changes.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Configuration; using System.Data.SqlClient; namespace Login_form { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string str = ConfigurationSettings.AppSettings["constring"].ToString(); SqlConnection sqlcon = new SqlConnection(str); try { sqlcon.Open(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } SqlCommand sqlcmd = new SqlCommand("select user_type from employee where user_name='" + textBox1.Text + "'and pwd= '" + textBox2.Text + "' ;", sqlcon); SqlDataReader myReader = sqlcmd.ExecuteReader(); string user_type=string.Empty; while(myReader.Read()) { user_type= myReader["user_type"].ToString(); } sqlcon.Close(); sqlcon.Open(); SqlCommand sqlcmd2 = new SqlCommand("select * from employee where user_type= '" +user_type + "'", sqlcon); SqlDataReader myReader2 = sqlcmd2.ExecuteReader(); DataTable dt = new DataTable(); dt.Columns.Add("ID", typeof(string)); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("Email_ID", typeof(string)); dt.Columns.Add("Contact", typeof(string)); dt.Columns.Add("Address", typeof(string)); while (myReader2.Read()) { DataRow dr = dt.NewRow(); dr["ID"] = myReader2["ID"]; dr["Name"] = myReader2["user_name"]; dr["Email_ID"] = myReader2["Email_ID"]; dr["Contact"] = myReader2["Contact"]; dr["Address"] = myReader2["Address"]; dt.Rows.Add(dr); } dataGridView1.DataSource = dt; sqlcon.Close(); } } }
source share