如何使用泛型处理程序或jquery从数据库中获取数据集

how can we get dataset with generic handler or jquery from Database

本文关键字:数据库 获取 数据集 jquery 何使用 泛型 处理 程序      更新时间:2023-09-26

类似于单个值,我可以很容易地工作,也可以是真-假条件。比如从数据库中获取单个值

                    string i = "";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "SelectPass";
                    cmd.Parameters.AddWithValue("@userID", context.Request.QueryString["id"]);
                    conn.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        i = reader["Password"].ToString();
                    }
                    reader.Close();
                    conn.Close();
                    if (i == "")
                    { context.Response.Write("False"); }
                    else
                    {
                        context.Response.Write(i);
                    }

并且在客户端容易地显示一个变量中的值。

 function abc()
{   
    $.get(''HandlerResetPass.ashx?id=' + $('#txtUserId').val()+'&lbl='+ $('#lblPasswo').val(), callback);
    function callback(data)
    {
    if (data == "False")
    {
    alert('ID doesn''t exist try again..!')
    return false;
    }
    else 
    {
    $('#tblPassWord').show();
    $('#tblprofile').hide();
    role = data;
    }
    }
}

但是如何使用A数据集。

您的问题不清楚。您的HandlerResetPass究竟返回了什么?如果是一个对象列表,你应该定义一个具有数据结构的类,序列化json,例如,在你的客户端,jquery可以遍历你的列表,并处理你的数据。

您可以返回JSON,然后使用jQuery的$.parseJSON将其解析为对象。

例如,

// data = '{"field1": "value1", "field2": false}'
function callback(data) {
  dataObj = $.parseJSON(data)
  if(dataObj["field2"] == false) {
    // do something
  }
  else {
    // do something else
  }
}

以下是我获得数据集值的一些代码。

首先,您必须为需要表数据的创建类对象。像下面的

Class MyData
  Public ID As Integer
  Public Name As String
  Public ContactNo As String
End Class

现在您需要为BasicOuptObject定义Structure。此BasicOuptObject的对象从服务器端发送到客户端。

Public Structure BasicOuputObject
     Dim status As String
     Dim errorMessage As String
     Dim strMessage As String
     Dim obj As Object
End Structure

现在您必须使用下面的函数来获取数据表。

Public Sub GetMyData()
    Dim objOutput As New BasicOuputObject
    Dim objCommand As New SqlCommand
    Dim lstMyData As New List(Of MyData)
    Dim objMyData As MyData
    Dim objConn As New SqlConnection("Pass Connection String")
    objCommand.CommandText = "select ID ,Name ,ContactNo from Customers"
    objCommand.Connection = objConn
    objConn.Open()
    Dim m_rdrReader As SqlDataReader = objCommand.ExecuteReader()
    If m_rdrReader.HasRows Then
        While m_rdrReader.Read()
            objMyData = New MyData
            objMyData.ID = m_rdrReader(0)
            objMyData.Name = m_rdrReader(1)
            objMyData.ContactNo = m_rdrReader(2)
            lstMyData.Add(objMyData)
        End While
    End If
    m_rdrReader.Close()
    m_objConn.Close()
    objOutput.errorMessage = ""
    objOutput.obj = lstMyData
    objOutput.strMessage = "success"
    Dim objSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
    HttpContext.Current.Response.Write(objSerialiser.Serialize(objOutput))
    HttpContext.Current.Response.End()
End Sub
End Class

现在修改javascript如下。use可以使用任何机制调用上述函数来自处理程序。

function abc() {
    $.get(''HandlerResetPass.ashx?id=' + $('#txtUserId').val() + '&lbl=' +     $('#lblPasswo').val(), callback);
    function callback(data) {
        if (data.status == "success") {
            for (var row, i = 0; row = data.obj[i]; i++) {
                //Create the row strings using the CreateAddModelRowString function
                // Process row var for as per usage.
            }
        }
        else {
            alert('ID doesn''t exist try again..!')
            return false;
        }
    }
}

希望这对你有帮助。快乐的编码。。。。

我们可以通过使用该工作之王从处理程序返回数据集。

   public void ProcessRequest(HttpContext context)
    {
        string connect = (@"Connection string");
        using (SqlConnection conn = new SqlConnection(connect))
        {
            using (SqlCommand cmd = new SqlCommand("", conn))
            {
                string i = "";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "Selecttest";
                cmd.Parameters.AddWithValue("@_ID", context.Request.QueryString["id"]);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds);
                conn.Close();
                string ans = "";
                ans = Convert.ToString(ds.Tables[0].Rows[0]["name"])+",";
                ans += Convert.ToString(ds.Tables[0].Rows[0]["age"]);
                context.Response.Write(ans);
            }
        }
    }

或者在客户端,我们通过这种方法得到这两个值。

 function abc()
{
$.get(''Handler1.ashx?id=' + $('#txtID').val(), callback);
 function callback(data)
 {
    var arr = data.split(',');  
    $("#name").html(arr[0]);   
    $("#age").html(arr[1]);  
 }  
}