当前位置:文档之家› C#数据库连接封装类

C#数据库连接封装类

C#数据库连接封装类
C#数据库连接封装类

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Diagnostics;

using System.Configuration;

namespace https://www.doczj.com/doc/6c17647463.html,ponents.DBUtility

{

public class ConnetionLine

{

public static SqlHelper SystemManageCn

{

get

{

try

{

string connectionString =

ConfigurationManager.ConnectionStrings["SystemManageConnectionString"].ConnectionString;

SqlHelper sqlHelper = GetConnetion(connectionString);

return sqlHelper;

}

catch (Exception ex)

{

throw ex;

}

}

}

public static SqlHelper JIEJINERPReportCn

{

get

{

try

{

string connectionString =

ConfigurationManager.ConnectionStrings["JIEJINERPReportConnectionString"].ConnectionString ;

SqlHelper sqlHelper = GetConnetion(connectionString);

return sqlHelper;

}

catch (Exception ex)

{

throw ex;

}

}

}

private static SqlHelper GetConnetion(String connectionString)

{

try

{

int stratNo = connectionString.IndexOf("Server") + 7;

int endNo = connectionString.IndexOf(";");

string serverIP = connectionString.Substring(stratNo, endNo - stratNo);

//string pingrst = CmdPing(serverIP);

string pingrst = "连接";

if (pingrst != "连接")

{

throw new Exception(pingrst + "\n" + "無法連線到服務器,請檢查您的網絡連接狀態!!");

}

SqlHelper cn = new SqlHelper(connectionString);

return cn;

}

catch (Exception ex)

{

throw ex;

}

}

private static string CmdPing(string strIp)

{

Process p = new Process();

p.StartInfo.FileName = "cmd.exe";

https://www.doczj.com/doc/6c17647463.html,eShellExecute = false;

p.StartInfo.RedirectStandardInput = true;

p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.RedirectStandardError = true;

p.StartInfo.CreateNoWindow = true;

string pingrst;

p.Start();

p.StandardInput.WriteLine("ping -n 1 " + strIp);

p.StandardInput.WriteLine("exit");

string strRst = p.StandardOutput.ReadToEnd();

if (strRst.IndexOf("(0% loss)") != -1 || strRst.IndexOf("(0% 遺失)") != -1 || strRst.IndexOf("(0% 遗失)") != -1)

pingrst = "连接";

else if (strRst.IndexOf("Destination host unreachable.") != -1)

pingrst = "无法到达目的主机";

else if (strRst.IndexOf("Request timed out.") != -1)

pingrst = "超时";

else if (strRst.IndexOf("Unknown host") != -1)

pingrst = "无法解析主机";

else

pingrst = strRst;

p.Close();

return pingrst;

}

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using System.Data.SqlClient;

namespace https://www.doczj.com/doc/6c17647463.html,ponents.DBUtility

{

public class SqlHelper

{

private SqlConnection cn;

private SqlTransaction m_sqlTransaction;

private Boolean m_bTransaction;

private SqlCommand ist;

private String _defultDatabase = "";

public SqlHelper()

{

try

{

ist = new SqlCommand();

ist.Connection = cn;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = 3000000;

}

catch (Exception ex)

{

throw ex;

}

}

public SqlHelper(String connString)

{

try

{

https://www.doczj.com/doc/6c17647463.html, = new SqlConnection(connString);

this.ist = new SqlCommand();

this.ist.Connection = cn;

this._defultDatabase = cn.Database;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = 3000000;

}

catch (Exception ex)

{

throw ex;

}

}

public void ChangeDB(String dbName)

{

String sqlstr = "Use " + dbName;

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

https://www.doczj.com/doc/6c17647463.html,mandText = sqlstr;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

ist.ExecuteNonQuery();

}

catch (Exception ex)

{

throw ex;

}

}

public DataSet ExecuteDataSetComText(string sqlStr, params object[] parameterValues) {

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

using (DataSet ds = new DataSet())

{

https://www.doczj.com/doc/6c17647463.html,mandText = sqlStr;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.Text;

ist.Parameters.Clear();

for (int i = 0; i <= parameterValues.Length - 1; i++)

{

ist.Parameters.Add(parameterValues[i]);

}

using (SqlDataAdapter sqldata = new SqlDataAdapter(ist))

{

sqldata.Fill(ds);

}

https://www.doczj.com/doc/6c17647463.html,mandText = "";

return ds;

}

}

catch (Exception ex)

{

throw ex;

}

finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public DataSet ExecuteDataSetComSP(string spName, params object[] parameterValues) {

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

using (DataSet ds = new DataSet())

{

https://www.doczj.com/doc/6c17647463.html,mandText = spName;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = 3000000;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.StoredProcedure ;

ist.Parameters.Clear();

for (int i = 0; i <= parameterValues.Length - 1; i++)

{

ist.Parameters.Add(parameterValues[i]);

}

using (SqlDataAdapter sqldata = new SqlDataAdapter(ist)) {

sqldata.Fill(ds);

}

https://www.doczj.com/doc/6c17647463.html,mandText = "";

return ds;

}

}

catch (Exception ex)

{

throw ex;

}

finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public DataTable ExecuteDataTableComText(string sqlStr, params object[] parameterValues)

{

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

using (DataTable dt = new DataTable())

{

https://www.doczj.com/doc/6c17647463.html,mandText = sqlStr;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.Text;

ist.Parameters.Clear();

for (int i = 0; i < parameterValues.Length; i++)

{

ist.Parameters.Add(parameterValues[i]);

}

using (SqlDataAdapter sqldata = new SqlDataAdapter(ist))

{

sqldata.Fill(dt);

}

https://www.doczj.com/doc/6c17647463.html,mandText = "";

return dt;

}

}

catch (Exception ex)

{

throw ex;

}

finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public DataTable ExecuteDataTableComSP(string spName, params object[] parameterValues)

{

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

using (DataTable dt = new DataTable())

{

https://www.doczj.com/doc/6c17647463.html,mandText = spName;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.StoredProcedure;

ist.Parameters.Clear();

for (int i = 0; i <= parameterValues.Length - 1; i++)

{

ist.Parameters.Add(parameterValues[i]);

}

using (SqlDataAdapter sqldata = new SqlDataAdapter(ist)) {

sqldata.Fill(dt);

}

https://www.doczj.com/doc/6c17647463.html,mandText = "";

return dt;

}

}

catch (Exception ex)

{

throw ex;

}

finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public int ExecuteComSP(string sqlStr, params object[] parameterValues) {

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

https://www.doczj.com/doc/6c17647463.html,mandText = sqlStr;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.StoredProcedure;

ist.Parameters.Clear();

for (int i = 0; i <= parameterValues.Length - 1; i++)

{

ist.Parameters.Add(parameterValues[i]);

}

int rowsCout = ist.ExecuteNonQuery();

return rowsCout;

}

catch (Exception ex)

{

throw ex;

}finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public int ExecuteComText(string sqlStr, params object[] parameterValues) {

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

https://www.doczj.com/doc/6c17647463.html,mandText = sqlStr;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.Text ;

ist.Parameters.Clear();

for (int i = 0; i <= parameterValues.Length - 1; i++)

{

ist.Parameters.Add(parameterValues[i]); }

int rowsCout = ist.ExecuteNonQuery();

return rowsCout;

}

catch (Exception ex)

{

throw ex;

}

finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public int ExecuteComText(string sql, Boolean Trains) {

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

https://www.doczj.com/doc/6c17647463.html,mandText = sql;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout; https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.Text;

int rowsCout = 0;

if (Trains)

{

BeginTrans();

rowsCout = ist.ExecuteNonQuery();

CommitTrans();

}

else

{

rowsCout = ist.ExecuteNonQuery();

}

return rowsCout;

}

catch (Exception ex)

{

if (Trains)

{

RollbackTrans();

}

throw ex;

}finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open) {

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public int ExecuteComSP(string sql, Boolean Trains)

{

try

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

https://www.doczj.com/doc/6c17647463.html,mandText = sql;

https://www.doczj.com/doc/6c17647463.html,mandTimeout = cn.ConnectionTimeout;

https://www.doczj.com/doc/6c17647463.html,mandType = CommandType.StoredProcedure;

int rowsCout = 0;

if (Trains)

{

BeginTrans();

rowsCout = ist.ExecuteNonQuery();

CommitTrans();

}

else

{

rowsCout = ist.ExecuteNonQuery();

}

return rowsCout;

}

catch (Exception ex)

{

if (Trains)

{

RollbackTrans();

}

throw ex;

}

finally

{

if (m_bTransaction == false)

{

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

}

else

{

if (cn.Database != _defultDatabase)

{

ChangeDB(_defultDatabase);

}

}

}

}

public void BeginTrans()

{

if (cn.State == ConnectionState.Closed)

{

cn.Open();

}

if (cn == null || cn.State == ConnectionState.Closed)

{

throw new ApplicationException("连接失败");

}

m_bTransaction = true;

try

{

m_sqlTransaction = cn.BeginTransaction(IsolationLevel.ReadCommitted); ist.Transaction = m_sqlTransaction;

}

catch (Exception ex)

{

throw ex;

}

}

public Boolean CommitTrans()

{

if (!m_bTransaction)

return false;

}

try

{

if (m_sqlTransaction.Connection != null) {

m_https://www.doczj.com/doc/6c17647463.html,mit();

m_bTransaction = false;

}

}

catch (Exception ex)

{

m_sqlTransaction.Rollback();

throw ex;

}

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

return true;

}

public Boolean RollbackTrans()

{

if (!m_bTransaction)

{

return false;

}

try

{

if (m_sqlTransaction.Connection != null) {

m_sqlTransaction.Rollback();

}

}

catch (Exception ex)

{

throw ex;

if (cn.State == ConnectionState.Open)

{

cn.Close();

}

return true;

}

public void Dispose()

{

try

{

if (cn != null)

{

cn.Dispose();

cn = null;

}

if (m_sqlTransaction != null)

{

m_sqlTransaction.Dispose();

m_sqlTransaction = null;

}

if (ist != null)

{

ist.Dispose();

ist = null;

}

}

catch (Exception ex)

{

throw ex;

}

}

}

}

//获取数据方法

public DataSet CostIGS2102(ERPReportModel eRPReport) {

{

string sqlStr = "SP_HOI_Cost_IGS2102";

SqlParameter[] objParams = new SqlParameter[1];

objParams[0] = new SqlParameter("@quotationNo", eRPReport.QuotationNoValue);

DataSet ds = ConnetionLine.JIEJINERPReportCn.ExecuteDataSetComSP(sqlStr, objParams);

ds.Tables[0].TableName = "PreCost";

ds.Tables[1].TableName = "V_Quotation_Fab";

ds.Tables[2].TableName = "V_Quotation_St";

ds.Tables[3].TableName = "V_Quotation_CMPVAS";

ds.Tables[4].TableName = "V_Quotation_Additional";

ds.Tables[5].TableName = "V_Quotation_Management";

return ds;

}

catch (Exception ex)

{

throw ex;

}

}

C语言函数大全(m开头)

C语言函数大全(m开头) main()主函数 每一C 程序都必须有一 main() 函数, 可以根据自己的爱好把它放在程序的某 个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放 在哪个地方, 以下几点说明都是适合的。 1. main() 参数 在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。 * argc: 整数, 为传给main()的命令行参数个数。 * argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0 以下的版本, argv[0]为空串("") 。 argv[1] 为在DOS命令行中执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; ... argv[argc]为NULL。 *env: 安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符 串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS, C: \TURBOC(对于PATH) 或YES(对于87)。 Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中 说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序 的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下 的例子: main() main(int argc) main(int argc, char *argv[]) main(int argc, char *argv[], char *env[])

C语言标准库函数

标准库函数 本附录描述了标准C支持的库函数①。使用此附录时,请记住下列要点。 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里 只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示 例),请见函数描述右下角用楷体列出的节号。 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。(例如,calloc函数和realloc函数与malloc函数“类似”, 而free函数则与malloc函数“相关”。)也可参见的函数和在描述的函数没有紧密联系,但是却 可能有影响。 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。 函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。(换句话说,请参考手册了 解可能发生的问题。)另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统 不同而不同,而且程序也可能会行为异常甚至崩溃。 中许多函数的描述提到了定义域错误和取值范围错误。在本附录的末尾对这两种错误进行了定义。 601 下列库函数的行为是会受到当前地区影响的: 字符处理函数(除了isdigit函数和isxdigit函数)。 格式化输入/输出函数。 多字节字符和字符串函数。 字符串转换函数。 Strcoll函数、strftime函数和strxfrm函数。 例如,isalpha函数实际上检测字符是否在a到z之间或者在A到Z之间。在某些区域内也把其他字符看成是字母次序的。本附录描述了在"C"(默认的)地区内库函数的行为。 一些函数实际上是宏。然而,这些宏的用法和函数完全一样,所以这里不对它们区别对待。 abort 异常终止程序 void abort(void); 产生SIGABRT信号。如果无法捕获信号(或者如果信号处理函数返回),那么程序会异常 终止,并且返回由实现定义的代码来说明不成功的终止。是否清洗输出缓冲区,是否关 闭打开的流,以及是否移除临时文件都是由实现定义的。 相似函数exit函数、raise函数 相关函数assert函数、signal函数 也可参见atexit函数 26.2节abs 整数的绝对值 int abs(int j); 返回整数j的绝对值。如果不能表示j的绝对值,那么函数的行为是未定义的。 ①这些材料经ANSI许可改编自American National Standards Institude ANSI/ISO 9899?1990。这个标准的副本可从 ANSI购买(ANSI, 11 West 42nd Street, New York, NY 10036)。

ASP NET 6种常用数据库的连接方法

1.C#连接连接Access 程序代码: using System.Data; using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb"; OleDbConnection objConnection=new OleDbConnection(strConnection); .. objConnection.Open(); objConnection.Close(); 解释: 连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,https://www.doczj.com/doc/6c17647463.html,就是靠这个和Access的数据库连接的. "Data Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data

Source=MyDrive:MyPath\MyFile.MDB". PS: 1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符. 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strConnection+="Data Source="; strConnection+=MapPath("Northwind.mdb"); 这样就可以省得你写一大堆东西了! 3.要注意连接字符串中的参数之间要用分号来分隔. "OleDbConnection objConnection=new OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. "objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成. 2.C#连接SQL Server 程序代码: using System.Data; using System.Data.SqlClient; .. string strConnection="user id=sa;password=;"; strConnection+="initial catalog=Northwind;Server=YourSQLServer;";

C语言函数库详解(收藏版)

c语言函数库 目录 第一章(C标准库) (4) 1. :诊断 (4) 2. :字符类别测试 (5) 3. :错误处理 (5) 4. :整型常量 (6) 5. :地域环境 (6) 6. :数学函数 (7) 7. :非局部跳转 (8) 8. :信号 (9) 9. :可变参数表 (11) 10. :公共定义 (11) 11. :输入输出 (12) 12. :实用函数 (13) 13. :日期与时间函数 (13) 第二章(IO函数) (14) clearerr:复位错误标志函数 (15) feof:检测文件结束符函数 (16) ferror:检测流上的错误函数 (17) fflush:清除文件缓冲区函数 (18) fgetc:从流中读取字符函数 (19) fgetpos:取得当前文件的句柄函数 (20) fgets:从流中读取字符串函数 (21) fopen、fclose:文件的打开与关闭函数 (22) fprintf:格式化输出函数 (23) fputc:向流中输出字符函数 (25) fputs:向流中输出字符串函数 (25) fread:从流中读取字符串函数 (26) freopen:替换文件中数据流函数 (27) fscanf:格式化输入函数 (28) fseek:文件指针定位函数 (28) fsetpos:定位流上的文件指针函数 (30) ftell:返回当前文件指针位置函数 (31) fwrite:向文件写入数据函数 (31) getc:从流中读取字符函数 (32) getchar:从标准输入文件中读取字符函数 (33) gets:从标准输入文件中读取字符串函数 (34) perror:打印系统错误信息函数 (34) printf:产生格式化输出的函数 (35) putc:向指定流中输出字符函数 (36) putchar:向标准输出文件上输出字符 (37)

java平时最常用的7种数据库连接方式

今天总结了java平时最常用的7种数据库连接方式,现在分享给大家 MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name 为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); Connection con=DriverManager.getConnection(URL,Username,Password); Microsoft SQL Server: 1) String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); // 2) String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); Sysbase: String Driver="com.sybase.jdbc.SybDriver"; //驱动程序 String URL="jdbc:Sysbase://localhost:5007/db_name"; //db_name为数据可名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); Connection con=DriverManager.getConnection(URL,Username,Password); Oracle(用thin模式): String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); //加载数据库驱动

7种方法连接数据库

连接数据库的方法小结 1.ODBC API ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API 进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 2.MFC ODBC 由于直接使用ODBC API编写应用程序要编制大量代码,开发者往往需要花费很多的精力在非核心代码的维护上,而Visual C++提供了MFC ODBC类,封装了ODBC API,这使得利用MFC ODBC来创建ODBC应用程序非常简便。 3.DAO(Data Access Object) DAO提供了一种通过程序代码创建和操纵数据库的机制,多个DAO构成一个体系结构,在这个体系结构中,各个DAO对象协同工作。MFC DAO是Microsoft提供的用于访问Microsoft jet数据库文件的强有力的数据库开发工具,它通过封装DAO,向程序员提供了DAO操作数据库的手段。 4.OLE DB OLE DB(Object Linking and Embedding, Database, 又称为OLE DB或OLE-DB),一个基于COM的数据存储对象,能提供对所有类型的数据的操作,甚至能在离线的情况下存取数据(比方说,你使用的是你的便携机,你可以毫不费力地看到最后一次数据同步时的数据映像). OLEDB位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC 处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升.

C语言标准库函数2012

常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h

Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs

C#数据库连接操作大全

C#数据库连接操作大全 下面是c#与数据库的连接及增删改除的各种操作,全部经过上机验证。本人是从事软件开发,如果各位有什么问题或者需要帮助的可以在我的空间留言。 一:数据库连接代码: SqlConnection objSqlConnection = new SqlConnection ("server = 127.0.0.1;uid = sa; pwd =;database =test"); objSqlConnection.Open(); 二:数据库的添加记录代码: int i = 0; string s1 = "", s2 = ""; i = Convert.ToInt16(textBox1.Text); s1 = textBox2.Text; s2 = textBox3.Text; SqlConnection objSqlConnection = new SqlConnection("server = 127.0.0.1;uid = sa; pwd =;database =test"); objSqlConnection.Open(); MessageBox.Show("数据库连接成功", "好"); try { SqlCommand sqlcom = new SqlCommand("insert into info(id,name,sex) values( " + i + ",'" + s1 + "','" + s2 + "')", objSqlConnection); sqlcom.ExecuteNonQuery(); MessageBox.Show("添加成功!", "啊"); } catch (Exception a) { MessageBox.Show(a.ToString()); } MessageBox.Show("添加成功!", "啊"); } 三:数据库的修改代码: int i = 0; string s1 = "", s2 = ""; s1 = textBox2.Text; s2 = textBox3.Text; if (textBox1.Text.Length == 0) i = 0; else i = Convert.ToInt32(textBox1.Text);

C语言函数大全

C语言函数大全 1 字符测试函数 函数(及意义)函数分解Isalnum(){判断字符是否is alphbet(字母表) number(数字) 为字母或数字} Isalpha(){判断是否为英文is alphbet(字母表) 字母} Isblank(){空格和TAB} is blank(空格) Iscntrl() { 控制} is control(控制) Isdigit(){数字} is digit(数字) Isgraph(){除空格外的可打is graph(图表) 印字符} Islower(){是否为小写} is lowercase(小写) Isprintf(){可打印字符含空这个简单 字符} Ispunct(){标点或特殊符号is punctuation(标点) } Isspace(){检查是否为空字is space(空间) 符,即判断是否为空格,水平 定位字符“\t”,归位字符“\r ”,垂直定位字符“\v”,换行 字符“\n”,翻页“\f”} Isupper(){是否为大写字母is upper_case(大写) } Isxdigit(){十六进制} is hexadecimal digit(十六进制) Tolower(){将小写转换成 大写} Toupper(){将大写转换成这个简单(to change 或者to covert 或者 小写} transformation

字符串函数 Memchr(){在某一内存范围内查找一特定字符}Memory (储存)char(字符型炭)也可以是character (字符) Memcmp(){比较区域 str1,str2的前n个字节} Memory(同理)compare(比较) Memcpy(){由str2所指内存区域复 制n个字节到str1所指内存区域} Memory copy(复制) Memmove(){两个所指的内存区域 可重叠,但是内容会更改,函数 返回值为指向区域内存的指针} Memory move(移动) Memset(){把str所指的内存区域 的前N个字节设置成字符c} Set(设置)

C语言常用函数手册

1.分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2.数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度

SQL数据库连接字符串大全

SQL Server ODBC Standard Security: "Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;" Trusted connection: "Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;" PRompt for username and passWord: oConn.Properties("Prompt") = adPromptAlways oConn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs;" OLE DB, OleDbConnection (.NET) Standard Security: "Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;" Trusted Connection: "Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;" (use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000) Prompt for username and password: oConn.Provider = "sqloledb" oConn.Properties("Prompt") = adPromptAlways oConn.Open "Data Source=Aron1;Initial Catalog=pubs;"

C语言函数大全(p开头).docx

函数大全(p开头) 61 函数名:parsfnm 功能:分析文件名 用法:char *parsfnm (char *cmdline, struct fcb *fcbptr, int option); 程序例: #include #include #include #include int main(void) { char line[80]; struct fcb blk; /* get file name */ printf(M Enter drive and file name (no path - ie. a:file.dat)\n M); gets(line); /* put file name in fcb */ if (parsfnm(line, &blk, 1) == NULL) printf(M Error in parsfm call\n H); else printf("Drive #%d Name: %1 ls\n", blk.fcb_drive, blk.fcb_name); return 0; 函数名:peek 功能:检查存储单元 用法:int peek(int segment, unsigned offset); 程序例: #include #include #include int main(void) int value = 0;

prinif(=The current sUHus of your keyboard is,n=); value H Peek(oxoo4p0x0017) 八 if (value 1) P S-二 f(--Right shift onm=)八 else printaRight shift 05n =) 八 if (value 2) primf(=Lefr shift onvr.r else prin-fTLen shift O 51T ); if (value &. 4) printf(=con=rol key on\n=)_ else p r i n .s =c o =r o 】 key off\n=)八 if (value Rp 8) printf(=Alr key on\n=)一 else p r i n s ->-t key 03=)

C语言中常用的库函数

字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。 头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin

反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h 函数列表 函数类别函数用途详细说明 保存调用环境setjmp 恢复调用环境longjmp 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。

C#连接数据库大全

c#连接数据库大全 1.C#连接连接Access 程序代码: ------------------------------------------------------------------------------- using System.Data; using System.Data.OleDb; ...... string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb"; OleDbConnection objConnection=new OleDbConnection(strConnection); ...... objConnection.Open(); objConnection.Close(); ...... -------------------------------------------------------------------------------- 解释: 连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,https://www.doczj.com/doc/6c17647463.html,就是靠这个和Access的数据库连接的. "Data Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data Source=MyDrive:MyPath\MyFile.MDB". PS: 1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符. 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strConnection+="Data Source="; strConnection+=MapPath("Northwind.mdb"); 这样就可以省得你写一大堆东西了! 3.要注意连接字符串中的参数之间要用分号来分隔. "OleDbConnection objConnection=new OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. "objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成. -------------------------------------------------------------------------------- 2.C#连接SQL Server 程序代码: -------------------------------------------------------------------------------- using System.Data; using System.Data.SqlClient; ... string strConnection="user id=sa;password=;"; strConnection+="initial catalog=Northwind;Server=YourSQLServer;"; strConnection+="Connect Timeout=30"; SqlConnection objConnection=new SqlConnection(strConnection);

数据库连接

JNDI * 1,配置 context.xml * 2,配置 web.xml * 3,进行代码编写,使用lookup() 方法获得数据源对象 package com.xxx.jndi; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import com.xxx.entity.SysUser; public class JNDItest { public static java.sql.Connection getConnection(){ Connection conn=null; try { Context ic=new InitialContext(); System.out.println(ic+"ic ic ic "); DataSource source=(DataSource)ic.lookup("java:comp/env/jdbc/crm"); conn=source.getConnection(); } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; }

C语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include或#include "math.h" 函数名函数原型功能返回值 acos double acos(double x);计算arccos x的值,其中-1<=x<=1计算结果 asin double asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果 atan double atan(double x);计算arctan x的值计算结果 atan2double atan2(double x, double y);计算arctan x/y的值计算结果 cos double cos(double x);计算cos x的值,其中x的单位为弧度计算结果 cosh double cosh(double x);计算x的双曲余弦cosh x的值计算结果 exp double exp(double x);求e x的值计算结果

c标准库函数大全

absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h abswrite()写磁盘绝对扇区函数 原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h atol()将字符串转换成长整型数的函数 原形:long atol(const char *s) 功能:把s所指向的字符串转换成long int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h bcd()把一个数转换成对应的BCD码的函数 原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)

相关主题
文本预览
相关文档 最新文档