class SqlServerDataBase:IDataBase { String connstring = null; //执行没有返回值的SQL语句,如insert,update,delete public int executeSql_NoReturn(string strcmd) { SqlConnection conn = new SqlConnection(connstring); SqlCommand oprating = new SqlCommand(strcmd, conn); try { if (conn.State != ConnectionState.Open) conn.Open(); object obj = oprating.ExecuteNonQuery(); return 0; } catch { //MessageBox.Show("SQL数据格式错误",title,MessageBoxButtons.OK, MessageBoxIcon.Information); return -1; } finally { conn.Close(); } } //返回查询所返回的结果集中第一行的第一列或空引用(如果结果集为空) public string executeSql_GetCell(string strcmd) { SqlConnection conn =new SqlConnection(connstring); SqlCommand oprating = new SqlCommand(strcmd, conn); try { if (conn.State != ConnectionState.Open) conn.Open(); object obj = oprating.ExecuteScalar(); if (obj != null) return obj.ToString(); else return null; } catch { //MessageBox.Show("SQL数据格式错误",title,MessageBoxButtons.OK, MessageBoxIcon.Information); return "DataFormattingError"; } finally { conn.Close(); } } //绑定数据源,用于输出数据集 public DataTable executeSql_GetDataSet(string strcmd) { SqlConnection conn = new SqlConnection(connstring); SqlCommand oprating = new SqlCommand(strcmd, conn); SqlDataReader myDataReader = null; DataTable table = new DataTable(); try { if (conn.State != ConnectionState.Open) conn.Open(); myDataReader = oprating.ExecuteReader(); table.Load(myDataReader); return table; } catch { return null; } finally { conn.Close(); } } public int ImagOper(string strcmd,byte[] Photograph,byte[] FingerPrint0,byte[] FingerPrint1) { StringBuilder strSql = new StringBuilder(); SqlConnection conn = new SqlConnection(connstring); strSql.Append(strcmd); try { if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand(strSql.ToString(), conn); if (Photograph != null) cmd.Parameters.Add("@Photograph", SqlDbType.Binary).Value = Photograph; if (FingerPrint0 != null) cmd.Parameters.Add("@FingerPrint0", SqlDbType.Binary).Value = FingerPrint0; else cmd.Parameters.Add("@FingerPrint0", SqlDbType.Binary).Value = new byte[1024]; if (FingerPrint1 != null) cmd.Parameters.Add("@FingerPrint1", SqlDbType.Binary).Value = FingerPrint1; else cmd.Parameters.Add("@FingerPrint1", SqlDbType.Binary).Value = new byte[1024]; cmd.ExecuteNonQuery(); return 0; } catch(Exception e) { if( e is SqlException) return -3; else return -1; } finally { conn.Close(); } } }