0

我创建了一个 Windows 8 应用程序,我在 SQL Server 数据库中有一个表来存储人的姓名,“[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;
            })
        }

添加服务.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);

谢谢!

4

1 回答 1

0

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

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

尝试将其更改为

data: '{"namet":\'' + jointext + '\'}'
于 2013-08-14T08:10:06.180 回答