首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于ADO.NET服务,Wcf读取器始终返回False

对于ADO.NET服务,Wcf读取器始终返回False
EN

Stack Overflow用户
提问于 2017-12-11 09:12:21
回答 0查看 59关注 0票数 1

我正在尝试检索Angular JS应用程序中的单个列记录。我在输入字段中输入了正确的文本,但问题是数据读取器对象总是返回false。

这是接口。

OperationContract

代码语言:javascript
复制
[WebInvoke(Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/GetCustomers/{Account_Holder_Last_Name}")]
string GetCustomers(string Account_Holder_Last_Name); 

下面是实现。

代码语言:javascript
复制
 public string GetCustomers(string Account_Holder_Last_Name)
        {

            List<object> customers = new List<object>();
            string sql = "SELECT * FROM Current_Account_Holder_Details WHERE Account_Holder_Last_Name =@Account_Holder_Last_Name";
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlCommand cmd = new SqlCommand(sql))
                {
                    cmd.Parameters.AddWithValue("@Account_Holder_Last_Name", Account_Holder_Last_Name);
                    cmd.Connection = conn;
                    conn.Open();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        if (sdr.HasRows)**//Always returns false on this line**
                        {
                            while (sdr.Read())
                            {

                                customers.Add(new
                                {
                                    Tittle = sdr["Tittle"],
                                    Account_Holder_First_Name = sdr["Account_Holder_First_Name"],
                                    Account_Holder_Last_Name = sdr["Account_Holder_Last_Name"],
                                    Account_Holder_DOB = sdr["Account_Holder_DOB"],
                                    Account_Holder_House_No = sdr["Account_Holder_House_No"],
                                    Account_Holder_Street_Name = sdr["Account_Holder_Street_Name"],
                                    Account_Holder_Post_Code = sdr["Account_Holder_Post_Code"],

                                    Account_Holder_Occupation = sdr["Account_Holder_Occupation"],
                                    Account_Number = sdr["Account_Number"]



                                });
                            }

                        }

                    }
                    conn.Close();
                }

                return (new JavaScriptSerializer().Serialize(customers));
            }

        }

下面是Angular的js代码。

代码语言:javascript
复制
@{
    Layout = null;
}

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script>
    <script type="text/javascript">
        var app = angular.module('MyApp', [])
        app.controller('MyController', function ($scope, $http, $window) {
            $scope.IsVisible = false;
            $scope.Search = function () {
                var post = $http({
                    method: "GET",
                    url: "http://localhost:52098/HalifaxIISService.svc/GetCustomers/{Account_Holder_Last_Name}",
                    dataType: 'json',
                    data: { Account_Holder_Last_Name: $scope.Account_Holder_Last_Name },

                    headers: {
                        'Accept': 'application/json, text/javascript, */*; q=0.01',
                        'Content-Type': 'application/json; charset=utf-8'
                    }
                });

                post.success(function (data, status) {
                    $scope.Customers = eval(data.d);
                    $scope.IsVisible = true;
                });

                post.error(function (data, status) {
                    $window.alert(data.Message);
                });
            }
        });
    </script>
    <div ng-app="MyApp" ng-controller="MyController">
        Name:
        <input type="text" ng-model="Account_Holder_Last_Name" />
        <input type="button" value="Submit" ng-click="Search(Account_Holder_Last_Name)" />
        <hr />
        <table cellpadding="0" cellspacing="0" ng-show="IsVisible">
            <tr style="height: 30px; background-color: skyblue; color: maroon;">
                <th> Tittle</th>
                <th>First Name</th>
                <th> Last Name</th>
                <th>  DOB </th>
                <th> House No</th>
                <th> Street Name</th>
                <th>Post Code</th>
                <th> Occupation</th>
                <th>Account Number</th>


            </tr>
            <tbody ng-repeat="m in Customers">
                <tr>
                    <td>{{m.Tittle}}</td>
                    <td>{{m.Account_Holder_First_Name}}</td>
                    <td>{{m.Account_Holder_Last_Name}}</td>

                    <td>{{m.Account_Holder_DOB}}</td>
                    <td>{{m.Account_Holder_House_No}}</td>
                    <td>{{m.Account_Holder_Street_Name}}</td>
                    <td>{{m.Account_Holder_Post_Code}}</td>

                    <td>{{m.Account_Holder_Occupation}}</td>
                    <td>{{m.Account_Number}}</td>
                </tr>
            </tbody>
        </table>
    </div>
</body>
</html>

这是Sql脚本。

代码语言:javascript
复制
CREATE TABLE [dbo].[Current_Account_Holder_Details](
    [Account_Holder_Id] [int] IDENTITY(1,1) NOT NULL,
    [Tittle] [nvarchar](50) NOT NULL,
    [Account_Holder_First_Name] [nvarchar](50) NOT NULL,
    [Account_Holder_Last_Name] [nvarchar](50) NOT NULL,
    [Account_Holder_DOB] [nvarchar](50) NULL,
    [Account_Holder_House_No] [nvarchar](50) NOT NULL,
    [Account_Holder_Street_Name] [nvarchar](50) NOT NULL,
    [Account_Holder_Post_Code] [nvarchar](50) NOT NULL,
    [Account_Holder_Occupation] [nvarchar](50) NOT NULL,
    [Account_Number] [int] NULL,
)

这是数据库记录。

这是VS2015中的屏幕截图。

这是我运行应用程序时的结果。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47745225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档