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. =)
尝试检查返回值。
int modified =(int)cmd.ExecuteScalar();
这也缺少参数的@符号
cmd.Parameters.Add("departure_id", SqlDbType.Int).Value = dId; //I used AddWithValue(@para, value) it didn't work.