C#ADO.NET帮助类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace DBComm{ static class DBCommand { public class DBParameters { private SqlCommand m_owner = null; publi
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace DBComm { static class DBCommand { public class DBParameters { private SqlCommand m_owner = null; public DBParameters(SqlCommand owner) { m_owner = owner; } public SqlParameterCollection P() { return m_owner.Parameters; } }; public static bool BulkToDB(string tabname, DataTable dt, params string[] destColumnNames) { bool bRet = false; do { if (dt == null) break; if (dt.Rows.Count == 0) break; using (SqlConnection conn = DBConn.GetConn()) { if (conn == null) break; SqlBulkCopy bulkcopy = new SqlBulkCopy(conn); if (bulkcopy == null) break; bulkcopy.DestinationTableName = tabname; bulkcopy.BulkCopyTimeout = 30; if (destColumnNames.Length == 0) { foreach (DataColumn col in dt.Columns) bulkcopy.ColumnMappings.Add(col.ColumnName, col.ColumnName); } else { if (destColumnNames.Length == dt.Columns.Count) { for (int i = 0; i < destColumnNames.Length; ++i) { bulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, destColumnNames[i]); } } } bulkcopy.BatchSize = dt.Rows.Count; try { bulkcopy.WriteToServer(dt); } catch (System.Exception e) { string err = e.Message; break; } finally { bulkcopy.Close(); } } bRet = true; } while (false); return bRet; } public static DBParameters ExecProcNonQuery(string proc_name, object[] paraValues) { using (SqlConnection conn = DBConn.GetConn()) { SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = proc_name; AddInParaValues(cmd, paraValues); cmd.ExecuteNonQuery(); return new DBParameters(cmd); } } public delegate T[] FillValues<T>(SqlDataReader reader); public static T[] QuerySomes<T>(string sql, FillValues<T> fill) { using (SqlConnection conn = DBConn.GetConn()) { T[] result = null; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; SqlDataReader reader = null; lock (reader = cmd.ExecuteReader()) { try { result = fill(reader); } catch (Exception e) { throw new Exception(e.StackTrace); } finally { reader.Close(); } } return result; } } public delegate object FillValue(SqlDataReader reader); public static object QuerySome(string sql, FillValue fill) { using (SqlConnection conn = DBConn.GetConn()) { object result = null; SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; SqlDataReader reader = null; lock (reader = cmd.ExecuteReader()) { try { result = fill(reader); } catch (Exception e) { throw new Exception(e.StackTrace); } finally { reader.Close(); } } return result; } } public static object FillResultValue(SqlDataReader reader) { object o = null; if (reader.Read()) { o = reader.GetValue(0); } return o; } public static bool QueryBoolean(string sql) { return Convert.ToBoolean(QuerySome(sql, new FillValue(FillResultValue))); } public static byte[] QueryBytes(string sql) { return (byte[])(QuerySome(sql, new FillValue(FillResultValue))); } public static int QueryInteger(string sql) { return Convert.ToInt32(QuerySome(sql, new FillValue(FillResultValue))); } public static string QueryStr(string sql) { return QuerySome(sql, new FillValue(FillResultValue)) as string; } private static string[] FillStrsValue(SqlDataReader reader) { List<string> lststr = new List<string>(); while (reader.Read()) { lststr.Add(reader.GetString(0)); } return lststr.ToArray(); } public static string[] QueryStrs(string sql) { return QuerySomes(sql, new FillValues<string>(FillStrsValue)); } private static bool[] FillBooleansValue(SqlDataReader reader) { List<bool> lstbool = new List<bool>(); while (reader.Read()) { lstbool.Add(reader.GetBoolean(0)); } return lstbool.ToArray(); } public static bool[] QueryBooleans(string sql) { return QuerySomes(sql, new FillValues<bool>(FillBooleansValue)); } public static void ExecCmd(string sql) { using (SqlConnection conn = DBConn.GetConn()) { SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; cmd.ExecuteNonQuery(); } } /// <summary> /// 获取存储过程的参数列表 /// </summary> /// <param name="proc_Name">存储过程名称</param> /// <returns>DataTable</returns> private static DataTable GetParameters(SqlConnection conn, string proc_Name) { SqlCommand comm = new SqlCommand("dbo.sp_sproc_columns", conn); comm.CommandType = CommandType.StoredProcedure; comm.Parameters.AddWithValue("@procedure_name", (object)proc_Name); SqlDataAdapter sda = new SqlDataAdapter(comm); DataTable dt = new DataTable(); sda.Fill(dt); return dt; } /// <summary> /// 为 SqlCommand 添加参数及赋值 /// </summary> /// <param name="comm">SqlCommand</param> /// <param name="paraValues">参数数组(必须遵循存储过程参数列表的顺序)</param> private static void AddInParaValues(SqlCommand comm, params object[] paraValues) { using (SqlConnection conn = DBConn.GetConn()) { comm.Parameters.Add(new SqlParameter("@RETURN_VALUE", SqlDbType.Int)); comm.Parameters["@RETURN_VALUE"].Direction = ParameterDirection.ReturnValue; if (paraValues != null) { DataTable dt = GetParameters(conn, comm.CommandText); int i = 0; foreach (DataRow row in dt.Rows) { string key = row[3].ToString(); if (key != "@RETURN_VALUE") { int value = int.Parse(row[4].ToString()); if (value == 1) { comm.Parameters.AddWithValue(key, paraValues[i]); } else if (value == 2)//value为2则是输出参数 { comm.Parameters.AddWithValue(key, paraValues[i]).Direction = ParameterDirection.Output; //comm.Parameters[key].Direction = ParameterDirection.Output; } comm.Parameters[key].Size = Convert.ToInt32(row[7].ToString()); i++; } } } } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace DBComm { class DBConn { private static string m_connstr; public static string ConnString { get { return m_connstr; } private set { m_connstr = value; } } static DBConn() { SqlConnectionStringBuilder connStr = new SqlConnectionStringBuilder(); connStr.DataSource = "."; connStr.InitialCatalog = "test"; connStr.IntegratedSecurity = true; connStr.Pooling = true; //开启连接池 connStr.MinPoolSize = 0; //设置最小连接数为0 connStr.MaxPoolSize = 100; //设置最大连接数为100 connStr.ConnectTimeout = 10; //设置超时时间为10秒 ConnString = connStr.ConnectionString; //ConnectDB(ConnString); } public static SqlConnection GetConn() { SqlConnection conn = new SqlConnection(ConnString); conn.Open(); return conn; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace DBComm { static class DBTableSource { public static DataTable GetSource(SqlConnection conn, string strsql) { DataTable dt = null; SqlCommand cmd = null; SqlDataAdapter ad = null; try { lock (dt = new DataTable()) { if (conn is SqlConnection) { cmd = new SqlCommand(strsql, conn); ad = new SqlDataAdapter((SqlCommand)cmd); } dt.Clear(); ad.Fill(dt); } } catch (Exception e) { throw e; } return dt; } public static DataTable Source(string strsql) { using (SqlConnection conn = DBConn.GetConn()) { return GetSource(conn, strsql); } } } }

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java 문서 해석: System 클래스의 currentTimeMillis() 메소드에 대한 사용 분석, 특정 코드 예제가 필요합니다. Java 프로그래밍에서 System 클래스는 시스템과 관련된 일부 속성과 작업을 캡슐화하는 매우 중요한 클래스입니다. 그 중 currentTimeMillis 메소드는 System 클래스에서 매우 일반적으로 사용되는 메소드입니다. 이 기사에서는 메소드에 대해 자세히 설명하고 코드 예제를 제공합니다. 1. currentTimeMillis 메소드 개요

win10 시스템은 매우 사용하기 쉽고 지능적인 시스템입니다. 강력한 호환성으로 인해 시스템은 기본적으로 정상적인 사용 중에 문제가 발생하지 않습니다. 그러나 사람들이 win10 시스템을 계속 사용함에 따라 때때로 시스템에 문제가 발생할 수도 있습니다. 문제가 있습니다. Win10 부팅 블루 스크린 종료 코드 SystemServiceException 문제가 있습니다. 오늘 편집자가 Win10 부팅 블루 스크린 종료 코드 SystemServiceException에 대한 솔루션을 제공할 것입니다. 필요한 경우 빨리 다운로드하십시오. win10systemserviceException 블루 스크린 해결 방법: 방법 1: 1. Windows 키 + R을 사용하여 실행을 열고 "contr"을 입력합니다.

컴퓨터 시스템은 비교적 일반적인 시스템 프로세스입니다. 프로세스를 볼 때 시스템이 자주 표시됩니다. 이 프로세스는 단순히 컴퓨터 시스템을 의미하지만, system.exe 프로세스가 컴퓨터에 나타나는 경우에는 삭제해야 합니다. 이것은 트로이 목마 바이러스에 의해 생성된 파일입니다. 실제 시스템 뒤에는 exe 접미사가 없습니다.

Windows 7 영어 버전 시스템에 대해 들어보신 적이 있으신가요? 그러나 일부 친구들은 Windows 7 영어 버전 시스템에 대해 들어본 적이 있을 것입니다. 오늘은 네티즌들이 영어로 된 win7의 원본 버전을 이해할 수 있도록 편집자가 영어로 된 win7의 원본 버전에 대한 소개를 모든 사람과 공유할 예정입니다. 다음은 Windows 7 시스템의 영어 버전을 다운로드할 수 있는 위치를 알려드립니다. win7의 원본 영어 시스템이 구독 다운로드를 위해 MSDN에 출시되었습니다. 공식 영어 통합 버전인 Windows7WithSP1이 처음 출시되었습니다. 이는 통합 SP1이 포함된 Windows7 CD 이미지입니다. 여러 언어에 대한 SP1 독립 실행형 포함

Microsoft는 System Center 2022의 출시를 발표했습니다. 최신 버전에는 SCOM(System Center Operations Manager), VMM(Virtual Machine Manager), SCORCH(System Center Orchestrator), SM(Service Manager) 및 Data Protection Manager가 포함되어 있습니다.

1990년대 Macintosh로 돌아가 브라우저 창에서 System 7 및 MacOS 8의 완전한 가상 설치를 실행해 보세요. 1990년대 Mac 소프트웨어의 새로운 가상 버전의 한 가지 결점은 2020년대 Mac의 속도로 실행된다는 것입니다. MacSE/30이나 Quadra700을 보고 계시지만 모든 것이 Apple Silicon만큼 빠릅니다. 실제로 이러한 시뮬레이션된 운영 체제에서 작업할 수 있으며 macOS Monterey 안팎으로 문서나 파일을 드래그할 수도 있습니다. 그러나 실용적인 목적이든 순수한 재미를 위한 것이든 다음 방법을 따르세요.

Object는 모든 Java 클래스의 기본 클래스이자 전체 클래스 상속 구조의 최상위 클래스이자 가장 추상적인 클래스입니다. 누구나 toString(), equals(), hashCode(), wait(), inform(), getClass() 및 기타 메소드를 매일 사용합니다. 아마도 그들은 Object의 메소드라는 것을 인식하지 못하고 보지도 않을 것입니다. Object에는 또 어떤 메소드가 있는지 그리고 왜 이러한 메소드를 Object에 배치해야 하는지 생각해 보세요. 1. JavaObject 클래스 소개 - 모든 클래스의 슈퍼 클래스 Object는 Java 클래스 라이브러리의 특수 클래스이자 모든 클래스의 상위 클래스이기도 합니다. 즉, Java에서는 모든 유형의 객체를 객체 유형에 할당할 수 있습니다.

영광의 왕에서 우리는 친구들이 카드를 뒤집어 꽃이슬을 얻도록 도울 수 있습니다. 그러면 우리는 어떻게 친구들이 카드를 뒤집도록 도울 수 있습니까? 아래에서 편집자는 왕의 영광 중에 친구들이 카드를 뒤집을 수 있도록 돕는 방법을 알려줄 것입니다. King of Glory Together에서 친구의 카드 뒤집기를 돕는 방법: 1. 친구의 카드 뒤집기를 돕고 싶다면 친구를 초대하여 카드를 뒤집도록 해야 합니다. 2. 친구들에게 카드를 뒤집도록 초대해 달라고 요청한 다음 카드를 뒤집는 데 동의합니다. 3. 친구를 카드 뒤집기에 초대하는 방법은 친구의 카드 뒤집기를 돕는 방법과 동일합니다. 4. 친구가 카드를 뒤집는 것을 도와주면 친구가 먼저 카드를 뒤집어야 합니다. 친구 카드 뒤집기 조작 방법: 1. 먼저 꽃피우기 이벤트 페이지를 열고 페이지에서 '꽃이슬 받기'를 클릭하세요. 2. 카드 뒤집기를 한 번 성공적으로 도와줄 친구를 선택하고 "완료로 이동"을 클릭하세요. 3. 뒤집는 데 도움이 필요한 친구의 카드를 선택한 다음,
