/// <summary> /// PrepareSQL语句DML操作 /// </summary> /// <param name="sqls">SQL语句列表</param> public void PrepareExcute(string sql, List <DTOClass> dtolist) { if (sql.Length <= 0) { return; } try { List <string> fieldorders = SqlUtil.getFieldOrder(sql); foreach (string fieldorder in fieldorders) { foreach (DTOClass dto in dtolist) { if (fieldorder == dto.name) { switch (dto.fieldtype.ToLower()) { case "boolean": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Bit)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (bool)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "string": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.NVarChar)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (string)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "int32": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Int)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (int)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "int64": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.BigInt)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (Int64)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "single": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Real)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (float)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "double": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Float)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (decimal)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "decimal": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Decimal)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (decimal)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "datetime": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.DateTime)); if (dto.value != null) { sqlCommand.Parameters[dto.name].Value = (DateTime)dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; case "byte[]": sqlCommand.Parameters.Add(new OleDbParameter(dto.name, SqlDbType.Image)); if (dto.value != null) { byte[] b = (byte[])dto.value; if (b.Length > 10) { sqlCommand.Parameters[dto.name].Value = (byte[])dto.value; } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } } else { sqlCommand.Parameters[dto.name].Value = DBNull.Value; } break; } } sql = sql.Replace("#" + dto.name + "#", ":" + dto.name); } } sqlCommand.CommandText = sql; sqlCommand.ExecuteNonQuery(); } catch (Exception ex) { throw new Exception("Class [AccessDataSource] " + ex.Message, ex); } finally { ConnClose(); } }
/// <summary> /// PrepareSQL语句DML操作 /// </summary> /// <param name="sqls">SQL语句列表</param> private void prepare(string sql, List <DTOClass> dtolist) { if (sql.Length <= 0) { return; } sqlCommand.Parameters.Clear(); List <string> fieldorders = SqlUtil.getFieldOrder(sql); foreach (string fieldorder in fieldorders) { foreach (DTOClass dto in dtolist) { if (fieldorder == dto.name) { switch (dto.fieldtype.ToLower()) { case "boolean": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Bit)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (bool)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "string": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.VarChar)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (string)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "int32": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Int)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (int)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "int64": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.BigInt)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (Int64)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "single": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Real)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (float)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "double": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Float)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (double)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "decimal": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Decimal)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (decimal)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "datetime": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.DateTime)); if (dto.value != null) { sqlCommand.Parameters["@" + dto.name].Value = (DateTime)dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; case "byte[]": sqlCommand.Parameters.Add(new SqlParameter("@" + dto.name, SqlDbType.Image)); if (dto.value != null) { byte[] b = (byte[])dto.value; if (b.Length > 10) { sqlCommand.Parameters["@" + dto.name].Value = (byte[])dto.value; } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } } else { sqlCommand.Parameters["@" + dto.name].Value = DBNull.Value; } break; } } sql = sql.Replace("#" + dto.name + "#", "@" + dto.name); } } sqlCommand.CommandText = sql; sqlCommand.ExecuteNonQuery(); }
/// <summary> /// PrepareSQL语句DML操作 /// </summary> /// <param name="sqls">SQL语句列表</param> private void prepare(string sql, List <DTOClass> dtolist) { if (sql.Length <= 0) { return; } sqlCommand.Parameters.Clear(); List <string> fieldorders = SqlUtil.getFieldOrder(sql); foreach (string fieldorder in fieldorders) { foreach (DTOClass dto in dtolist) { if (fieldorder == dto.name) { switch (dto.fieldtype.ToLower()) { case "boolean": //sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, DbType.Boolean)); if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (bool)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "string": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (string)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "int32": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (int)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "int64": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (int)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "single": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (float)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "double": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (double)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "decimal": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (decimal)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "datetime": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (DateTime)dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; case "byte[]": if (dto.value != null) { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, (byte[])dto.value)); } else { sqlCommand.Parameters.Add(new SQLiteParameter(dto.name, null)); } break; } } sql = sql.Replace("#" + dto.name + "#", ":" + dto.name); } } sqlCommand.CommandText = sql; sqlCommand.ExecuteNonQuery(); }