/// <summary> /// Initializes a new instance of the <see cref="T:SqlError"/> class. /// </summary> /// <param name="error">The err.</param> public SqlError(System.Data.SqlClient.SqlError error) { if (error == null) { throw new ArgumentNullException("error"); } lineNumber = error.LineNumber; number = error.Number; message = error.Message; }
/// <summary> /// _brh_BackupCompleteEvent /// </summary> /// <param name="error"></param> private void _brh_BackupCompleteEvent(System.Data.SqlClient.SqlError error) { if (error != null && error.Class != 0) { MessageBox.Show("ERROR: " + error.Message, "Datenbank Sicherung"); } else { this.pbProgress.Value = 0; MessageBox.Show("Datenbank Backup erfolgreich erstellt!", "Datenbank Sicherung"); } }
/// <summary> /// Initializes a new instance of the <see cref="T:UserDefinedSqlException"/> class. /// </summary> /// <param name="error">The error.</param> internal UserDefinedSqlException(System.Data.SqlClient.SqlError error) : base("Sql UserDefined Exception: " + error.Message) { lineNumber = error.LineNumber; number = error.Number; }
/// <summary> /// Adds the specified value. /// </summary> /// <param name="value">The value.</param> /// <returns></returns> internal void Add(System.Data.SqlClient.SqlError value) { Add(new SqlError(value)); }
public DataSet Run(DbLinkInfo info, string sql, out string sqlmsg, out string rstmsg) { sqlmsg = ""; rstmsg = ""; DataSet ds = null; try { DataBaseTypeEnum fc = DataBaseType.GetDataBaseType(info.DbType); System.Data.Common.DbConnection conn = DBConfig.GetDbConnection(info); DbHelper.SqlErrorList = null; switch (fc) { case DataBaseTypeEnum.SQLServer: sql = sql + " print '('+convert(varchar(10), @@rowcount)+'行受影响)'"; ds = DbHelper.ExecuteDataSetCurrency(conn, CommandType.Text, sql, null); break; case DataBaseTypeEnum.Oracle: //sql = @"declare n number; begin "+sql+" n:=sql%rowcount; dbms_output.put_line(n); end; "; ds = DbHelper.ExecuteDataSetCurrency(conn, CommandType.Text, sql, null); break; case DataBaseTypeEnum.Access: ds = DbHelper.ExecuteDataSetCurrency(conn, CommandType.Text, sql, null); break; case DataBaseTypeEnum.SQLite: ds = DbHelper.ExecuteDataSetCurrency(conn, CommandType.Text, sql, null); break; case DataBaseTypeEnum.MySql: ds = DbHelper.ExecuteDataSetCurrency(conn, CommandType.Text, sql, null); break; } StringBuilder ser = new StringBuilder(); switch (fc) { case DataBaseTypeEnum.SQLServer: if (DbHelper.SqlErrorList != null) { for (int i = 0; i < DbHelper.SqlErrorList.Count; i++) { System.Data.SqlClient.SqlError r = DbHelper.SqlErrorList[i]; //ser.Append("从 SQL Server 中获取一个数值错误代码,它表示错误、警告或“未找到数据”消息。" + r.State.ToString()); //ser.Append("获取生成错误的提供程序的名称。" + r.Source.ToString()); //ser.Append("获取生成错误的 SQL Server 实例的名称。" + r.Server.ToString()); //ser.Append("获取生成错误的存储过程或远程过程调用 (RPC) 的名称。" + r.Procedure.ToString()); //ser.Append("获取一个标识错误类型的数字。" + r.Number.ToString()); //ser.Append("获取对错误进行描述的文本。" + r.Message.ToString()); //ser.Append("从包含错误的 Transact-SQL 批命令或存储过程中获取行号。" + r.LineNumber.ToString()); //ser.Append("获取从 SQL Server 返回的错误的严重程度。" + r.Class.ToString()); if (i > 0) { ser.Append("\r\n"); } ser.Append(r.Message); } } break; case DataBaseTypeEnum.Oracle: if (DbHelper.OracleErrorList != null) { for (int i = 0; i < DbHelper.OracleErrorList.Count; i++) { Devart.Data.Oracle.OracleError r = DbHelper.OracleErrorList[i]; if (i > 0) { ser.Append("\r\n"); } ser.Append(r.Message); } } break; case DataBaseTypeEnum.Access: if (DbHelper.OleDbErrorList != null) { for (int i = 0; i < DbHelper.OleDbErrorList.Count; i++) { System.Data.OleDb.OleDbError r = DbHelper.OleDbErrorList[i]; if (i > 0) { ser.Append("\r\n"); } ser.Append(r.Message); } } break; } sqlmsg = ser.ToString(); } catch (Exception ex) { rstmsg = "操作失败。" + ex.Message; } return(ds); }