Asp.net 将数据表中的值插入数据库

Asp.net 将数据表中的值插入数据库,asp.net,Asp.net,我已将父Gridview和子Gridview值存储到数据表中。我使用了三层体系结构,希望将这些值保存到数据库中,但当在一次迭代中使用for循环应用迭代时,值是整数,因此需要花费时间,但在另一次迭代中,值是varchar,我无法转换为varchar,因为我的一些值是整数和一些varchar public string Insertrecord(DataTable dts,string CourseCode,int CourseId) { DBHelper.OpenConection

我已将父Gridview和子Gridview值存储到数据表中。我使用了三层体系结构,希望将这些值保存到数据库中,但当在一次迭代中使用for循环应用迭代时,值是整数,因此需要花费时间,但在另一次迭代中,值是varchar,我无法转换为varchar,因为我的一些值是整数和一些varchar

public string Insertrecord(DataTable dts,string CourseCode,int CourseId)
{
        DBHelper.OpenConection();
        DBHelper.BeginTransaction();

        string query = "";

        for (int i = 0; i <= dts.Rows.Count - 1; i++)
        {
            for (int j = 0; j <= dts.Columns.Count - 1; j++)
            {
                 query = ("Insert into ShortCourses values('" + CourseId + "','" + CourseCode + "','" + dts.Rows[i][j] + "')");
                 DBHelper.ExecNonQuery(query).ToString();
            }
        }

        DBHelper.CommitTransaction();
        DBHelper.CloseConnection();

        return query;
}
public string Insertrecord(数据表dts、字符串CourseCode、int CourseId)
{
DBHelper.openconconnect();
DBHelper.BeginTransaction();
字符串查询=”;

对于(int i=0;i您应该将所有值视为字符串,因为您在
query
中保存了这些值,这是字符串。同样,不建议为好的代码编写以下内容。请始终使用参数化查询

public string Insertrecord(DataTable dts,string CourseCode,int CourseId)
{
      DBHelper.OpenConection();
      DBHelper.BeginTransaction();
      string query = "";
      for (int i = 0; i <= dts.Rows.Count - 1; i++)
      {
          for (int j = 0; j <= dts.Columns.Count - 1; j++)
          {
               query = ("Insert into ShortCourses values('" + CourseId.ToString() + "','" + CourseCode.ToString() + "','" + Convert.ToString(dts.Rows[i][j]) + "')");
               DBHelper.ExecNonQuery(query).ToString();
          }
      }
      DBHelper.CommitTransaction();
      DBHelper.CloseConnection();
      return query;
}
 public string Insertrecord(DataTable dts,string CourseCode,int CourseId)
    {
          DBHelper.OpenConection();
          DBHelper.BeginTransaction();
          string query = "";
          for (int i = 0; i <= dts.Rows.Count - 1; i++)
          {
              for (int j = 0; j <= dts.Columns.Count - 1; j++)
              {
                  query = "Insert into ShortCourses values(@Id, @Code, @Val)";           
                  SqlCommand cmd = new SqlCommand(query, con);

            //Pass values to Parameters
                 cmd.Parameters.AddWithValue("@Id", CourseId.ToString());
                 cmd.Parameters.AddWithValue("@Code", CourseCode.ToString());
                 cmd.Parameters.AddWithValue("@Val", Convert.ToString(dts.Rows[i][j])));                   
                 cmd.ExecuteNonQuery();
          }
          DBHelper.CommitTransaction();
          DBHelper.CloseConnection();
          return query;
    }
public string Insertrecord(数据表dts、字符串CourseCode、int CourseId)
{
DBHelper.openconconnect();
DBHelper.BeginTransaction();
字符串查询=”;

对于(int i=0;i-不应将SQL语句连接在一起-改用参数化查询以避免SQL注入-签出获取错误:提供的列名或值数与表定义不匹配。请在插入查询中指定列名