【问题标题】:what makes up the correct SQL add statement, broke into parts for the Basic Beginners for Webmatrix 3?什么构成了正确的 SQL add 语句,为 Webmatrix 3 的 Basic Beginners 分成几部分?
【发布时间】:2016-05-15 16:31:31
【问题描述】:

我是 C# 的新手,对在 vb 中编写代码的旧风格不太了解。但是现在试图找出编写 add sql 语句的正确方法非常令人困惑,我不确定下面的顺序是什么,我将分解 sql 语句。仅供参考。

   var addsqlquery = "INSERT INTO Expenses (Company_Name, Company_Address, Company_City, Company_State, State_Tax_Rate1, Item_Name, Item_Price, Sales_Tax_Amount, State_Tax_Rate2, Zip_Code, Phone_Number, Quantity, Date_Bought, Truck_Number, Tax_Type) VALUES  (@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,10,@11,@12,@13,@14)

现在主要的困惑是,@1、@2、@3、@4、@5 等的值是什么,这些信息来自哪里。 @0 是否来自代码的下一行,例如:

   db.Execute(insertQuery,Company_Name, Company_Address, Company_City,Company_State, State_Tax_Rate1, Item_Name, Item_Price, Sales_Tax_Amount,State_Tax_Rate2, Zip_Code, Phone_Number, Quantity, Date_Bought, Truck_Number, Tax_Type);

喜欢@0 = Company_Name? @2=公司地址?如果是这种情况,它应该从提交按钮填充中提取它们变量让我们说:

var Company_Name=Request.Form["Company_Name"];  Correct?

我对 C# 和 webmatrix 中的编程结构非常陌生,但我很困惑,如果有人可以向我解释他们的变量来自哪里以及他们从哪里获取信息,我想我可能最终能够完成 1将我的页面从 asp(经典)升级到 cshtml 样式的页面。提前谢谢你。

【问题讨论】:

    标签: c# sql sql-server webmatrix


    【解决方案1】:

    @ 符号开头并从0 开始依次递增的标记是参数占位符。也就是说,它们是提供给 sql 语句的值的占位符。

    通常,这些值来自用户作为发布的表单值。您在代码中使用参数来防止可能的 SQL 注入攻击。

    您按照它们在 SQL 中出现的顺序将值(或它们的来源)传递给 Database.Execute、Database.Query、Database.QueryValue 或 Database.QuerySingle 方法,例如

    var sql = INSERT INTO People (Firstname, Lastname, DateOfBirth) VALUES (@0,@1,@2)
    db.Execute(sql, Request.Form["Firstname"], Request.Form["Lastname"], Request.Form["Dob"]);
    

    您应该花一些时间阅读 ASP.NET 网页/Razor 的介绍性教程,尤其是有关数据访问的教程:http://www.asp.net/web-pages/overview/data/5-working-with-data

    我还写了一系列关于从经典 ASP 迁移到网页的短篇文章,这些文章可能对您也有帮助。这是关于数据的:http://www.mikesdotnetting.com/article/226/migrating-classic-asp-to-asp-net-razor-web-pages-part-two-data-access

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多