ajax里面写sql语句,在SQL语句中使用通过AJAX的2个值

这是使用SQL Server 2012数据库的IIS 7.5经典ASP网站。在SQL语句中使用通过AJAX的2个值

我需要帮助。我通过一个函数传递2个值到另一个经典的ASP页面,这反过来将在SQL语句中使用这些值返回一个值

当我使用它时,它不会返回值,但是当我手动输入一个值时,如UnitPieces的'7'和City的'Los Angeles',它从SQL Server数据库返回适当的数据。

以下是我与

--Choose One--

San Francisco

Los Angeles

New York

San Digeo

,它的值发送到这个AJAX功能工作(注:在购物车中的商品数量)

function shipping(str) {

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {

document.getElementById("shippingcost").innerHTML = this.responseText;

};

xmlhttp.open("GET", "shiptoamount.asp?y=&q=" + str, true);

xmlhttp.send();

}

这是运行SQL查询的页面

Dim Connection

Dim ConnString

Dim Recordset

Dim SQL

Dim qq

Dim yy

qq = (request.querystring("q"))

yy = (request.querystring("y"))

ConnString = "DRIVER={SQL Server};SERVER=SQLServerName;UID=username;" & _

"PWD=password;DATABASE=databasename"

SQL = "SELECT FlatShipCost FROM ShipRates WHERE UnitPieces = "&yy&" AND City = "&qq

Set Connection = Server.CreateObject("ADODB.Connection")

Set Recordset = Server.CreateObject("ADODB.Recordset")

Connection.Open ConnString

Recordset.Open SQL,Connection

If Recordset.EOF Then

Response.Write("No records returned.")

Else

if NOT Recordset.Eof then

Response.write (request.querystring("q"))

Response.write (Recordset("FlatShipCost"))

end if

End if

Recordset.Close

Set Recordset = nothing

Connection.Close

Set Connection = nothing

奇怪的是,如果我手动

Response.write (request.querystring("q"))

Response.write (request.querystring("y"))

它会显示在下拉选择为City的HTML,也从。所以这些值会进入运行查询的页面,但我想我可能会在SQL语句中做错了什么。请帮忙。在此先感谢

+0

(https://xkcd.com/327/) –

好的,我可以帮你解答这个问题。首先,你需要在 ASP.NET 后端编一个方法来查询数据。假设你已经有了一个可以连接到数据库的连接字符串,可以使用 `SqlConnection` 和 `SqlCommand` 类来执行查询操作。 下面是一个示例代码: ```csharp [WebMethod] public static string GetData() { string connectionString = "your_connection_string_here"; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); string sql = "SELECT * FROM your_table_name"; SqlCommand cmd = new SqlCommand(sql, conn); using (SqlDataReader reader = cmd.ExecuteReader()) { DataTable dt = new DataTable(); dt.Load(reader); // Convert the DataTable to JSON string string json = JsonConvert.SerializeObject(dt); return json; } } } ``` 这个方法使用了 `WebMethod` 属性来标记它是一个可以通过 AJAX 调用的方法。它首先创建了一个 `SqlConnection` 对象来连接到数据库,然后使用一个 SQL 查询语句来获取数据。接着,使用 `SqlDataReader` 类来读取查询结果,并将结果转换为 `DataTable` 对象。最后,使用 `JsonConvert` 类将 `DataTable` 对象转换为 JSON 字符串,并将其返回给调用方。 在前端,你可以使用 jQuery 的 `$.ajax` 方法来调用这个后端方法,并将返回的 JSON 数据显示在页面上。下面是一个示例代码: ```javascript $.ajax({ type: "POST", url: "your_backend_method_url_here", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { // Display the data on the page $("#your_div_id_here").html(JSON.stringify(data)); }, error: function (xhr, status, error) { // Handle the error console.log(error); } }); ``` 这个代码使用 `$.ajax` 方法来向后端方法发送 POST 请求,并将返回的 JSON 数据显示在页面上。注意,你需要将 `your_backend_method_url_here` 替换为实际的后端方法 URL,而 `your_div_id_here` 则是你想要显示数据的 HTML 元素的 ID。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值