无法通过WCF将String数据发送和存储到数据库

时间:2013-08-13 16:55:46

标签: sql-server wcf windows-store-apps

我创建了一个Windows 8应用程序,我在SQL服务器数据库中有一个用于存储人名的表,“[Name] VARCHAR(50)”

我已经设法将整数值发送并保存到数据库,但是当我修改我的编码以存储字符串时,它不起作用,表数据为空。请帮忙!

itemDetail.html

<div>
<input id="join1" type="text" />
<button id="joinbtn">insert</button>
</div>

itemDetail.js

var joinButton = document.getElementById('joinbtn');
        // Register Click event
        joinButton.addEventListener("click", joinButtonClick, false);

        function joinButtonClick() {
            // Retrieve element
            var baseURI2 = "http://localhost:45573/AddService.svc/Join";
            var jointext = document.getElementById('join1').value;

            WinJS.xhr({
                type: "POST",
                url: baseURI2,
                headers: { "Content-type": "application/json" },
                data: '{"namet":' + jointext + '}'
            }).then(function complete(request) {
                var resdata = request.responseText;
            }, function error(er) {
                var err = er.statusText;
            })
        }

AddService.svc.cs

public void Join(string namet)
    {
        string connectionString = System.Configuration.ConfigurationManager.
ConnectionStrings["Database1ConnectionString1"].ConnectionString;

        SqlConnection con = new SqlConnection(connectionString);
        string sql = "INSERT INTO Table2(Name) VALUES (@Name)";

        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.Parameters.AddWithValue("@Name", namet);
        try
               {
            con.Open();
            int numAff = cmd.ExecuteNonQuery();
        }
            con.Close();
    }

IAddService.cs

 [OperationContract]
    [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
    void Join(string namet);

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为问题可能出在这一行

data: '{"namet":' + jointext + '}'

尝试将其更改为

data: '{"namet":\'' + jointext + '\'}'