【发布时间】:2020-09-13 05:46:00
【问题描述】:
当我填写网络服务数据时,我想插入外键??
首先我创建一个 2 表
tblpersonal:
studid int (primary key identity increment)
fname varchar(50)
mname varchar(50)
lname varchar(50)
tbl联系人
contactid int (primary key identity increment)
emailid varchar(50)
password varchar(50)
contactno varchar(50)
hobby varchar(50)
address varchar(50)
countrycodenum varchar(50)
studid (foreign key tblpersonal)
问题是当填充网络服务然后不插入有问题的外键见下图
WebService1.asmx.cs
namespace WebServiceDemo
{
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString);
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string InsertData(string fname, string mname, string lname, string emailid, string password, string contactno, string hobby, string address, string countrycodenum)
{
cn.Open();
var dataObject = new { fname , mname , lname , emailid , password , contactno , hobby , address , countrycodenum };
string data = JsonConvert.SerializeObject(dataObject);
SqlCommand cmd = new SqlCommand("insertsp_singlesp", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@fname", fname);
cmd.Parameters.AddWithValue("@mname", mname);
cmd.Parameters.AddWithValue("@lname", lname);
cmd.Parameters.AddWithValue("@emailid", emailid);
cmd.Parameters.AddWithValue("@password", password);
cmd.Parameters.AddWithValue("@contactno", contactno);
cmd.Parameters.AddWithValue("@hobby", hobby);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@countrycodenum", countrycodenum);
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
Console.WriteLine("Insert Successfully");
}
else
{
Console.WriteLine("Not Insert Successfully");
}
cn.Close();
return data;
}
}
}
存储过程:insertsp_singlesp
ALTER PROCEDURE [dbo].[insertsp_singlesp]
@fname varchar(50),
@mname varchar(50),
@lname varchar(50),
@emailid varchar(50),
@password varchar(50),
@contactno varchar(50),
@hobby varchar(50),
@address varchar(50),
@countrycodenum varchar(50)
AS
BEGIN
insert into tblpersonal(fname, mname, lname)values(@fname,@mname,@lname);
insert into tblcontact(emailid, password,contactno,hobby,address,countrycodenum)values(@emailid,@password,@contactno,@hobby,@address,@countrycodenum);
END
下图是在另一个表中给出外键:
请帮忙?
【问题讨论】:
-
您应该正确解释您的问题。请尝试编辑说明。
-
问题很简单 tblpersonal(studid-1011) insert in another table tblcontact(studid是外键-这里我要插入1011)
-
@Nish 你有什么不明白的告诉我?
标签: c# asp.net web-services