读书人

求讲解,该怎么解决

发布时间: 2012-06-07 15:05:14 作者: rapoo

求讲解
SqlCommand cmd = new SqlCommand("UPDATE tb_student SET student_grade=99 WHERE student_id=@id", sc);
cmd.Parameters.Add("@id", SqlDbType.Int).Value = 1;

我在写修改数据库的代码 ,写完后发现运行后没反应,整个代码就这点看不懂特别是:WHERE student_id=@id", sc);
cmd.Parameters.Add("@id", SqlDbType.Int).Value = 1;

求大神讲解;

[解决办法]
添加参数,并给参数赋值

真正执行的sql语句就是 UPDATE tb_student SET student_grade=99 WHERE student_id=1

而@id也就相当于占位符吧
[解决办法]
@id是个参数, Parameters 就是管理参数的,然后为他赋值

基本概念太差,好好看看帮助
[解决办法]
你上面已经添加并赋值了

C# code
// Update the demographics for a store, which is stored     // in an xml column.     string commandText = "UPDATE Sales.Store SET Demographics = @demographics "        + "WHERE CustomerID = @ID;";     using (SqlConnection connection = new SqlConnection(connectionString))    {        SqlCommand command = new SqlCommand(commandText, connection);        command.Parameters.Add("@ID", SqlDbType.Int);        command.Parameters["@ID"].Value = customerID;         // Use AddWithValue to assign Demographics.        // SQL Server will implicitly convert strings into XML.        command.Parameters.AddWithValue("@demographics", demoXml);         try        {            connection.Open();            Int32 rowsAffected = command.ExecuteNonQuery();            Console.WriteLine("RowsAffected: {0}", rowsAffected);        }        catch (Exception ex)        {            Console.WriteLine(ex.Message);        }    }
[解决办法]
@是个特殊标记,表示后面跟的是sql参数名,既然有了sql参数名,就要添加sql参数值,cmd.Parameters.Add 方法可以添加一个sql参数值,方法里先指定sql参数名也就是@id,再指定类型,同时这个方法返回创建好的 SqlParameter 实例,对这个实例可以赋sql参数具体值,简便写法就可以直接点Value等于什么什么

读书人网 >C#

热点推荐