c#将变量嵌入SQL语句中

1、使用 ' " +    + " ' 拼接

string mysql = 
    " SELECT Cname,Grade 
      FROM student,score,course 
      WHERE student.Sno = score.Sno and 
                  score.Cno = course.Cno and 
                  student.Sno = ‘" + Convert.ToString(textBox1.Text) + "’ and         
                  score.Text =‘" + Convert.ToInt32(comboBox1.Text) + “’;
    ”; 

2、使用占位符

string mysql = string.Format(
    "SELECT Cname,Grade 
     FROM student,score,course 
     WHERE student.Sno = score.Sno and 
                score.Cno = course.Cno and 
                student.Sno = '{0}' and 
                score.Text = '{1}' " ,
    textbox1.Text,ComboBox1.Text);    

String str="select zkzh,school,name,n1,fzf from yw01 where aaa= ' "+aaa+ " ' ";//字符串型变量
String str="select zkzh,school,name,n1,fzf from yw01 where aaa="+aaa;//int型变量

3、使用$符号


                
C#中执行SQL删除语句通常涉及到数据库操作,如使用ADO.NET技术与数据库交互。下面是一个简单的步骤描述以及如何构建并安全地执行一条DELETE SQL语句的过程: 1. **建立连接**:首先你需要创建一个到目标数据库的有效连接字符串,并初始化`SqlConnection`对象。 2. **构造命令**:接着设置想要执行的具体SQL查询文本——在这里即为"DELETE FROM 表名 WHERE 条件;"形式的指令串;然后将这个字符串赋值给一个新的SqlCommand实例属性CommandText里。 3. **参数化查询防止注入攻击**:永远不要把未经验证的数据直接嵌入到你的SQL代码当中!相反应该采用占位符?或者@ParameterName样式指定位置变量来代替动态部分,再通过AddWithValue添加对应的实际数据值进去形成最终完整的请求信息包。 4. **打开链接发送请求获取结果反馈**:调用Connection.Open();开启通讯管道之后便可开始正式提交事务了(如果必要的话)。最后记得关闭所有使用的资源! 5. 示例代码片段展示如下: ```csharp string connectionString = "your_connection_string_here"; using(SqlConnection conn = new SqlConnection(connectionString)) { string sqlQuery = "DELETE FROM Employees WHERE EmployeeId=@EmpID"; SqlCommand cmd = new SqlCommand(sqlQuery,conn); cmd.Parameters.AddWithValue("@EmpID",empID); // 使用参数避免SQL Injection try { conn.Open(); int rowsAffected = cmd.ExecuteNonQuery(); // 执行非查询命令得到影响行数返回值 Console.WriteLine($"{rowsAffected} record(s) deleted."); } catch(Exception ex){ Console.WriteLine(ex.Message); } } ``` 6. 别忘了总是放在try-catch块内捕获可能出现的问题并且妥善处理它们哦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值