0

我正在使用 Visual Studio 2010 和 ASP.net c# 语言。我尝试从 excel 表中读取信息,然后将信息插入 Microsoft SQL 数据库,但我发现了一个问题,它忽略了查询语句中的错误。

for (int i = 0; i < objdatasetdto.Tables[0].Rows.Count; i++)
{
  start_time = Convert.ToDateTime(objdatasetdto.Tables[0].Rows[i]["start"].ToString());
  end_time = Convert.ToDateTime(objdatasetdto.Tables[0].Rows[i]["end"].ToString());
  if (objdatasetdto.Tables[0].Rows[i]["Lecture_day"].ToString().Equals("1"))
  {
     try
     {
        query = "Insert into [M].[Lecture]([dd],[start_time],[end_time],[week_no],[sec_no],
                 [room_no],[building_no]) "+
                 values('" + Calendar1.SelectedDate.ToShortDateString() + "','" +
                 start_time.ToShortTimeString() + "','" + end_time.ToShortTimeString() + 
                 "','1','" + objdatasetdto.Tables[0].Rows[i]["section_no"].ToString() + "','" 
                 + objdatasetdto.Tables[0].Rows[i]["room_no"].ToString() + "','" 
                 + objdatasetdto.Tables[0].Rows[i]["building_no"].ToString() + "');";
        ifexist = new SqlCommand(query, cnn);
      }
      catch (Exception ex)
      {
         Response.Write(ex);
      }
    }//end if
 }// end for loop

我写了 [dd] 列而不是 [date] 来测试它是否检测到错误。但它只是完全忽略了它们。

我怎么解决这个问题。

4

2 回答 2

2

您似乎没有执行 SqlCommand。尝试添加:

ifexist.ExecuteScalar();
于 2013-04-20T10:29:00.833 回答
0

您在哪里执行了查询?
您没有在以下任何一项中写过任何内容

  1. 如果存在。执行标量()
  2. 如果存在。执行非查询()

如果您不执行,则查询将如何编译查询以及您将如何预期错误。

于 2013-04-20T10:42:03.057 回答