asp.net项目C#,SQL server,Insert不起作用

本文关键字:server Insert 不起作用 SQL asp 项目 net | 更新日期: 2023-09-27 18:24:07

我创建了一个连接到数据库的网站,我可以毫无问题地获取数据并将其显示在页面上。但当我尝试插入(或更新)时,它什么也没做。

我已经测试了SQL查询,它运行得很好。

在过去的24小时里,我一直在这里寻找类似的情况和问题,但运气不佳。

我想让网站告诉用户是想要单程票还是双向票,并提出请求。该表具有自动递增的请求id然后我添加提出请求的学生的id,出发机票的id,然后返回机票的id(如果是2种方式,该值可以为空)还有一种状态将处于挂起状态,直到主管接受或拒绝请求,一旦接受,将添加发布日期,状态将变为已批准。如果拒绝,将添加原因并将状态更改为拒绝。

主要问题是,当我提出请求时,没有创建行并将其添加到数据库中供主管稍后查看。

这是我的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    int parsedValue;
    int.TryParse(DropDownList1.SelectedValue, out parsedValue);
    SqlConnection myConnection = new SqlConnection(""); // I removed the connection string.
    string sqlcommand = "";
    string idString = TextBox1.Text;
    string idTwoString ="";
    bool canContune = false;
    if (parsedValue == 1)
    {
        System.Diagnostics.Debug.WriteLine("p");
        Panel3.Visible = true;
        idTwoString = TextBox2.Text;
        if (AllNumber(idString, TextBox1) && AllNumber(idTwoString, TextBox2))
        {
            canContune = true;
        }
    }
    else if (AllNumber(idString, TextBox1))
    {
        canContune = true;
    }
    if (canContune)
    {
        int dId;
        int dId2;
        int.TryParse(idString, out dId);
        int.TryParse(idTwoString, out dId2);
        sqlcommand = "INSERT INTO TicketRequest.dbo.TicketRequest (student_id, departure_id, return_id, statues, issue_date, notes) "
            + "VALUES (@student_id, @departure_id , @return_id , @statues, @issue_date, @notes)";
        try
        {
            SqlCommand cmd = new SqlCommand(sqlcommand);
            cmd.CommandType = CommandType.Text;
            cmd.Connection = myConnection;
            myConnection.Open();
            cmd.Parameters.Add("@student_id", SqlDbType.Int).Value = id;
            cmd.Parameters.Add("departure_id", SqlDbType.Int).Value = dId; //I used AddWithValue(@para, value) it didn't work.
            if (parsedValue == 0)
            {
                cmd.Parameters.AddWithValue("@return_id", DBNull.Value);
            }
            else
            {
                cmd.Parameters.Add("@return_id", SqlDbType.Int).Value = dId2;
            }
            cmd.Parameters.Add("@statues", SqlDbType.Text).Value = "Pending";
            cmd.Parameters.AddWithValue("@issue_date", DBNull.Value);
            cmd.Parameters.AddWithValue("@notes", DBNull.Value);
            cmd.ExecuteNonQuery();
            myConnection.Close();
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.ToString());
        }
    }
}`

它没有任何异常,我真的不知道出了什么问题。我将非常感谢任何人指出我在插入查询中的错误。提前谢谢。

==============================================

I apologized all, it worked just fine. it seemed that the code wasn't excuted to being with. Thanks Falanor, you helped me discover the problem. =)

asp.net项目C#,SQL server,Insert不起作用

尝试检查返回值。

int modified =(int)cmd.ExecuteScalar();

这也缺少参数的@符号

cmd.Parameters.Add("departure_id", SqlDbType.Int).Value = dId; //I used AddWithValue(@para, value) it didn't work.