小组任务 主题是抽奖系统
目前卡在顾客的中奖查询这块了
dao dao = new dao();
string sql= $"select 奖项 from Table_2 where 抽奖号码='{textBox1.Text}'";
if()
{
MessageBox.Show("恭喜中奖!");
}
else
{
MessageBox.Show("谢谢参与!");
}
设想是客户在输入自己的抽奖号码之后去数据库存放中奖名单的表里过个查询 如果查询结果不为空就直接跳弹窗“恭喜中奖”,查询结果为空就跳“谢谢参与”
不知道if()里面应该怎么写才可以实现 可能if之前也有点问题
回答:你这里如果是直接使用SQLStatement去执行SQL语句,会导致SQL注入问题,你可以通过使用类似EF(EntiyFramework)的框架进行占位解决,或者自己手动判断特殊字符并处理;在这里可以简单的通过判断特殊字符进行处理的方式解决,执行SQL语句的话,可以参考这段代码:
public static void TestConnSQlServer()
{
SqlConnection conn = new SqlConnection
{
ConnectionString = "Data Source=127.0.0.1,1433;Initial Catalog=test_db;uid=sa; pwd=0925"
};
conn.Open();
string sql = "select * from testConn";
SqlCommand command = new SqlCommand(sql, conn);
SqlDataReader Reader = command.ExecuteReader();
while (Reader.Read())
{
Console.WriteLine(Reader["ID"].ToString());
}
conn.Close();
Console.ReadLine();
}
对于C#初学者来说,使用ADO.NET操作数据库是最简单的方式之一,你的问题描述代码中只提供了sql语句,C#程序还没有与数据库建立连接,也没有执行SQL语句。
关于C#使用ADO.NET操作数据库,我之前写了个系列教程《C#+ADO.NET数据库入门教程 》,供参考: