插入数据库Web服务后更新数据

时间:2013-07-15 04:24:45

标签: asp.net sql sql-server

我有一个声明,它插入到我的数据库中但插入后我想更新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();
     }

3 个答案:

答案 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()