输入“数据”,查询SQL数据库中,是否已经存在,有则显示,无则提示不存在用户。要求C#代码实现
2个回答
展开全部
private void button1_Click(object sender, EventArgs e)
{
if (this.textBox1.Text.Length > 0)
{
string connString = "Data Source=.服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=数据库登录用户名;Password=数据库登录密码";
string sql = string.Format("Select top 1 * from 用户信息表 where idx='{0}'",this.textBox1.Text);
try
{
SqlConnection connection = new SqlConnection(connString);
connection.Open();
SqlCommand myCommand = new SqlCommand(sql,connection);
SqlDataReader dr = myCommand.ExecuteReader();
if (dr.HasRows)
{
this.label2.Text = "用户名有效";//dr["要显示的列名"].ToString();
}
else
{
this.label2.Text = "该用户不存在";
}
}
catch (SqlException ex)
{
this.label2.Text = ex.Message;
}
}
else
{
this.label2.Text = "请输入用户名!";
}
}
注1: textBox1 是输入框
注2: 代码的中文部分要改为实际值
{
if (this.textBox1.Text.Length > 0)
{
string connString = "Data Source=.服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=数据库登录用户名;Password=数据库登录密码";
string sql = string.Format("Select top 1 * from 用户信息表 where idx='{0}'",this.textBox1.Text);
try
{
SqlConnection connection = new SqlConnection(connString);
connection.Open();
SqlCommand myCommand = new SqlCommand(sql,connection);
SqlDataReader dr = myCommand.ExecuteReader();
if (dr.HasRows)
{
this.label2.Text = "用户名有效";//dr["要显示的列名"].ToString();
}
else
{
this.label2.Text = "该用户不存在";
}
}
catch (SqlException ex)
{
this.label2.Text = ex.Message;
}
}
else
{
this.label2.Text = "请输入用户名!";
}
}
注1: textBox1 是输入框
注2: 代码的中文部分要改为实际值
追问
第二个按钮起删除作用,代码怎么写呢?
追答
如果只是简单的演示,稍微把语句改一下就可以了:
private void button2_Click(object sender, EventArgs e)
{
if (this.textBox1.Text.Length > 0)
{
string connString = "Data Source=.服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=数据库登录用户名;Password=数据库登录密码";
string sql = string.Format("Delete 用户信息表 where 用户名='{0}'",this.textBox1.Text);
try
{
SqlConnection connection = new SqlConnection(connString);
connection.Open();
SqlCommand myCommand = new SqlCommand(sql,connection);
int deleteRows = myCommand.ExecuteNonQuery();
if (deleteRows > 0)
{
this.label2.Text = "用户" + this.textBox1.Text + "已经删除!"; // deleteRows.ToString();
}
else
{
this.label2.Text = "该用户不存在";
}
connection.Close();
}
catch (SqlException ex)
{
this.label2.Text = ex.Message;
}
}
else
{
this.label2.Text = "请输入用户名!";
}
}
注1:如果用户名不是主键,则delete语句的条件必须改为主键
另:楼下的朋友说的对,第一次回答的忘记关闭连接了。虽然Ado.net自己会断开连接,但会造成不必要的资源浪费,实际应用中必须加上:connection.Open(); //可以放在try部分的 else{...} 的后面.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询