C# WINFORM CS 客户端调服务端程序小源码案例,非直接调数据库

C# WINFORM CS 客户端调服务端程序小源码案例,非直接调数据库,第1张

这样的案例,一定是一个完整的工程,因为涉及到客户端、服务器端、数据库等至少两个子工程,不会太小,只能跟你说下大致方法。

再一个打的工程项目里,新建两个子工程,一个是Winfrom工程,一个Web工程。如果不直接调用数据库,可以在Web工程中新建一个Web服务,将数据库访问相关的代码,写入Web服务,在Winfrom项目中新增服务器引用,引用Web服务,通过Web服务间接读写数据库。

Web服务可以使用加强版的WCF,目前很流行。不直接调用数据库的优点是,客户端不保留数据库连接字,可以保证数据库安全。

环境:c#.2005+Access+ Sql

一、把DataTable插入数据库

public static void DataTableToDB()

{

string _strExcelFileName = @"D:\example.xls"

DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1")

for (int i = 0i <dtExcel.Rows.Counti++)

{

InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()))

}

}

二、把Excel数据读入DataTable

public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)

{

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0" + "Data Source=" + strExcelFileName + "" +"Extended Properties=Excel 5.0"

string strExcel = string.Format("select * from [{0}$]", strSheetName)

DataSet ds = new DataSet()

using (OleDbConnection conn = new OleDbConnection(strConn))

{

conn.Open()

OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn)

adapter.Fill(ds, strSheetName)

conn.Close()

}

return ds.Tables[strSheetName]

}

三、向Access数据库表插入数据

public static void InsertDataToAccess(string _strPara,float _fPara)

{

OleDbConnection oleDbConn = new OleDbConnection()

oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0Data Source=C:\ExcelData.mdbUser Id=adminPassword="

oleDbConn.Open()

string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)"

OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn)

oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50)

oComm.Parameters["@strCollumn1"].Value = _strPara

oComm.Parameters.Add("@fCollumn2", OleDbType.Double)

oComm.Parameters["@fCollumn2"].Value = _fPara

ocomm.ExecuteNonQuery()

oleDbConn.Close()

}

基本上是一样的。你还是要定义一个头文件。头文件写自定义函数,然后用#include去包含那个头文件,那样你就可以在c文件里去调用头文件的函数了。也可以相互调用。2个头文件,互相#include。就行了。跟C++差不多的


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9601125.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存