我有一个声明,它插入到我的数据库中但插入后我想更新webservice
表格中的数据。我该怎么做?
这是插入数据的代码:
[WebMethod]
public static void InsertStudentTransaction(string Name, string CLass, string NRIC, int StallNo, float AmountSpent, DateTime GetDate)
{
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString))
{
SqlCommand command = new SqlCommand("INSERT Into StudentTransactions (Name, CLass,NRIC,StallNo,AmountSpent, TimeDate) VALUES (@Name, @CLass, @NRIC, @StallNo, @AmountSpent, @GetDate)");
command.Parameters.AddWithValue("@Name", "Name");
command.Parameters.AddWithValue("@CLass", "CLass");
command.Parameters.AddWithValue("@NRIC", "NRIC");
command.Parameters.AddWithValue("@StallNo","StallNo");
command.Parameters.AddWithValue("@AmountSpent", "AmountSpent");
command.Parameters.AddWithValue("@TimeDate", "GetDate");
command.Connection.Open();
command.ExecuteNonQuery();
}
答案 0 :(得分:1)
我认为从Web服务直接更新数据库不是一个好主意。您可以从Webservice获取用户数据,并将该数据传递到您的业务逻辑,您可以在其中正确验证用户的每个输入。如果您刚刚从Web服务更新输入,那么以后可能会遇到大问题。
因此,从webservice获取输入,创建业务逻辑并将其传递给业务逻辑来处理所有事情。包括验证,用户输入规范化,数据库事务,应该放在那里的每个逻辑。
答案 1 :(得分:0)
试试这个
[WebMethod]
public static void UPDATEStudentTransaction(string Name, string CLass, string NRIC, int StallNo, float AmountSpent, DateTime GetDate)
{
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString))
{
SqlCommand command = new SqlCommand("UPDATE StudentTransactions set Name=@Name, CLass=@CLass,StallNo=@StallNo,AmountSpent=@AmountSpent, TimeDate=@TimeDate WHERE <condition>");
command.Parameters.AddWithValue("@Name", Name);
command.Parameters.AddWithValue("@CLass", CLass);
command.Parameters.AddWithValue("@NRIC", NRIC);
command.Parameters.AddWithValue("@StallNo",StallNo);
command.Parameters.AddWithValue("@AmountSpent", AmountSpent);
command.Parameters.AddWithValue("@TimeDate", GetDate);
command.Connection.Open();
command.ExecuteNonQuery();
}
答案 2 :(得分:0)
您的StudentTransactions
表是否有Identity
字段作为主键,您希望返回到将来更新时使用的调用方法?
如果是,请查看返回SCOPE_IDENTITY()
。