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); } } } }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Interpretation von Java-Dokumenten: Verwendungsanalyse der Methode currentTimeMillis() der Klasse System. In der Java-Programmierung ist die Klasse System eine sehr wichtige Klasse, die einige Eigenschaften und Vorgänge im Zusammenhang mit dem System kapselt. Unter diesen ist die Methode currentTimeMillis eine sehr häufig verwendete Methode in der Systemklasse. In diesem Artikel wird die Methode ausführlich erläutert und Codebeispiele bereitgestellt. 1. Überblick über die currentTimeMillis-Methode

Das Win10-System ist ein sehr benutzerfreundliches und hochintelligentes System. Aufgrund seiner starken Kompatibilität kann sichergestellt werden, dass das System im Normalbetrieb keine Probleme hat Haben Sie Probleme mit dem Boot-Bluescreen-Beendigungscode SystemServiceException? Heute bietet Ihnen der Editor die Lösung für den Win10-Boot-Bluescreen-Beendigungscode SystemServiceException. Bitte laden Sie ihn schnell herunter. Lösung für den blauen Bildschirm „win10systemserviceException“: Methode 1: 1. Öffnen Sie „Ausführen“ mit der Windows-Taste + R und geben Sie „contr

Das Computersystem ist ein relativ häufiger Systemprozess. Wenn dieser Prozess angezeigt wird, muss er jedoch rechtzeitig gelöscht werden. Dies ist eine von einem Trojaner-Virus generierte Datei. Hinter dem realen System befindet sich kein Exe-Suffix.

Ich glaube, dass Internetnutzer mit dem Windows 7-System in englischer Sprache sehr vertraut sind. Ich glaube, dass viele Internetnutzer von der englischen Version von Windows 7 gehört haben Versionssystem zum Herunterladen. Heute werde ich die Einführung der Originalversion von Win7 auf Englisch mit allen teilen, damit Internetnutzer die Originalversion von Win7 auf Englisch verstehen können. Im Folgenden erfahren Sie, wo Sie die englische Version des Windows 7-Systems herunterladen können. Das ursprüngliche englische System von win7 wurde zum Abonnement-Download auf MSDN freigegeben. Die offizielle englische integrierte Version wurde erstmals veröffentlicht, Windows7WithSP1, das Windows7-CD-Image mit integriertem SP1. Enthält SP1 Standalone für mehrere Sprachen

Microsoft hat die Verfügbarkeit von System Center 2022 angekündigt. Die neueste Version bringt System Center Operations Manager (SCOM), Virtual Machine Manager (VMM), System Center Orchestrator (SCORCH), Service Manager (SM) und Data Protection Manager

Machen Sie eine Zeitreise in die Zeit des Macintosh der 1990er Jahre und führen Sie vollständige virtuelle Installationen von System 7 und MacOS 8 in einem Browserfenster aus. Ein Fehler bei neuen virtuellen Versionen der Mac-Software aus den 1990er-Jahren besteht darin, dass sie mit der Geschwindigkeit eines Mac aus den 2020er-Jahren laufen. Sie sehen einen MacSE/30 oder Quadra700, aber alles ist so schnell wie Apple Silicon. Sie können tatsächlich in diesen simulierten Betriebssystemen arbeiten und sie können sogar Dokumente oder Dateien in macOS Monterey hinein- und herausziehen. Aber ob aus praktischen Gründen oder eher nur zum Spaß, hier erfahren Sie, wie es geht

Object ist die Basisklasse aller Java-Klassen, die Spitze der gesamten Klassenvererbungsstruktur und die abstrakteste Klasse. Jeder verwendet jeden Tag toString(), equal(), hashCode(), wait(), notify(), getClass() und andere Methoden. Vielleicht ist ihnen nicht klar, dass es sich um Methoden von Object handelt, und sie sehen nicht hin Welche anderen Methoden Object hat? Und überlegen Sie, warum diese Methoden in Object platziert werden sollten. 1. Einführung in die JavaObject-Klasse – die Superklasse aller Klassen. Object ist eine spezielle Klasse in der Java-Klassenbibliothek und auch die übergeordnete Klasse aller Klassen. Mit anderen Worten: Java ermöglicht die Zuordnung beliebiger Objekttypen zum Objekttyp

Im King of Glory können wir unseren Freunden helfen, die Karten umzudrehen, um Blumentau zu bekommen. Wie können wir unseren Freunden helfen, die Karten umzudrehen? Im Folgenden stellt Ihnen der Herausgeber eine Methode vor, mit der Sie Ihren Freunden beim Ruhm des Königs helfen können, Karten umzudrehen. So helfen Sie Freunden, Karten in King of Glory Together umzudrehen: 1. Wenn Sie Freunden helfen möchten, Karten umzudrehen, müssen Sie Ihre Freunde zum Umdrehen von Karten einladen. 2. Bitten Sie Ihre Freunde, Sie einzuladen, die Karten umzudrehen, und stimmen Sie dann zu, die Karten umzudrehen. 3. Die Vorgehensweise beim Einladen von Freunden zum Umdrehen von Karten ist die gleiche wie beim Helfen von Freunden beim Umdrehen von Karten. 4. Helfen Sie einfach Ihrem Freund, die Karten umzudrehen, und Ihr Freund muss es zuerst tun. So führen Sie den Vorgang zum Umdrehen der Karte eines Freundes durch: 1. Öffnen Sie zunächst die Ereignisseite der Blumensaison und klicken Sie auf der Seite auf „Blumentau holen“. 2. Wählen Sie einen Freund aus, der beim einmaligen Umdrehen der Karten helfen soll, und klicken Sie auf „Weiter zum Fertigstellen“. 3. Wählen Sie die Karten aus, bei denen Ihre Freunde beim Umdrehen helfen sollen, und dann
