0

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

3 回答 3

1

我认为直接从 Web 服务更新数据库不是一个好主意。您可以从 Web 服务获取用户数据,并将该数据传递到您的业务逻辑,在那里您可以正确验证来自用户的每个输入。如果您只是从 Web 服务更新输入,那么您以后可能会遇到大问题。

因此,从 web 服务获取输入,创建业务逻辑并将其传递给业务逻辑以处理所有事情。包括验证、用户输入规范化、数据库事务,每个逻辑都应该放在那里。

于 2013-07-15T04:31:18.277 回答
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();
         }
于 2013-07-15T04:30:22.760 回答
0

您的StudentTransactions表是否有一个Identity字段作为您想要返回到调用方法以在未来更新中使用的主键?

如果是这样,请考虑退回SCOPE_IDENTITY().

于 2013-07-15T04:30:41.990 回答