即時通訊使用Microsoft Visual Studio 2012爲平臺SQL表和我創建Web窗體項目 我已創建數據庫文件「SimpleDB.mdf」他的「表」文件夾中,我增加新表稱爲「表」,它有兩列 - 編號和名稱(字符串)。什麼我嘗試是字符串數據插入此表的名稱列,而從JavaScript函數調用服務器端功能。將數據插入使用JavaScript和ASP.NET
這是aspx.cs代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Web.Services;
namespace ProjectWWW
{
public partial class WebForm1 : System.Web.UI.Page
{
[WebMethod]
public static string InsertData(string ID){
string source = "Data Source=(LocalDB)\v11.0;Integrated Security=True;Connect Timeout=30";
SqlConnection con = new SqlConnection(source);
{
SqlCommand cmd = new SqlCommand("Insert into Table(Name) values('" + ID + "')", con);
{
con.Open();
cmd.ExecuteNonQuery();
return "True";
}
}
}
}
,這是在ASPX代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ProjectWWW.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function CallMethod() {
PageMethods.InsertData("hello", CallSuccess, CallError);
}
function CallSuccess(res) {
alert(res);
}
function CallError() {
alert('Error');
}
</script>
</head>
<body>
<header>
</header>
<div class="table" id="div1" > </div>
<form id="Form1" runat="server">
<asp:Button id="b1" Text="Submit" runat="server" onclientclick="CallMethod();return false;"/>
<asp:ScriptManager enablepagemethods="true" id="ScriptManager1" runat="server"></asp:ScriptManager>
</form>
</body>
</html>
所以基本上即時通訊期待當按鈕提交點擊表列「名稱」將被填補與「你好」但沒有任何反應,列保持空(NULL)
你的意思是由它保持'Null'?你正在嘗試「更新」一個現有的記錄,或者「插入」一個新的記錄? – Siyual
插入我做了測試與你的代碼,它正在與改變SQL查詢作爲一個新的 –
:「INSERT INTO [表](名稱)VALUES(「」 + ID +「」)」。把try-catch和store結果放到cmd.ExecuteNonQuery();在int變量中,並檢查是否有錯誤。 – GMD