直接对数据库封装?好象不行吧,最多你把代码封装,数据库里把权限设置好,别人也直接进不来,然后在对一些存储过程加密.
B. asp.net 连接SQL数据库的封装类,及其调用方法
1.web.config 中
<add key="ConnectionString" value="server=(local);uid=sa;pwd=123456;database=News"/>
调用的时候
string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection Conn = new SqlConnection(strConn);
2.或者不用web.config直接在文件中写
SqlConnection conn = new SqlConnection("server=.\\SQLEXPRESS;uid=sa;pwd=123456;database=login");
如何是Express版的数据库,一定要在服务器名的后面加上 \\SSQLEXPRESS
C. 怎么把sql的数据库封装成CDatabaseAccess类
可以参考一下这个:
使用CDatabase类来读取Microsoft
Access数据库,主要实现了以下功能:
从Microsoft
Access
数据库读取数据
不使用
ODBC数据源
进行数据库连接
在List
view控件中显示数据
//
以下是部分
代码
void
CReadDBDlg::OnRead()
{
//
TODO:
Add
your
control
notification
handler
code
here
CDatabase
database;
CString
sSql;
CString
sCatID,
sCategory;
CString
sDriver
=
"MICROSOFT
ACCESS
DRIVER
(*.mdb)";
CString
sDsn;
CString
sFile
=
"c:\\works\\ReadDB\\Test.mdb";
//
Change
path
here
int
iRecord
=
0;
//
Create
a
pseudo
DSN
including
the
name
of
the
Driver
and
the
Excel
file
//
so
we
donhave
to
have
an
explicit
DSN
installed
in
our
ODBC
admin
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile);
TRY
{
//
Open
the
database
database.Open(NULL,false
,false
,sDsn);
//
the
recordset
CRecordset
recset(
&database
);
//
Build
the
SQL
query
string
sSql
=
"SELECT
CatID,
Category
"
"FROM
Categories";
//
Execute
the
query)
recset.Open(CRecordset::forwardOnly,sSql,CRecordset::readOnly);
ResetListControl();
//
Column
heading
m_ListControl.InsertColumn(1,"Cat
ID",LVCFMT_LEFT,30,0);
m_ListControl.InsertColumn(1,"Category",LVCFMT_LEFT,30,1);
//
Browse
the
result
while
(
!recset.IsEOF()
)
{
//
Read
one
record
recset.GetFieldValue("CatID",sCatID);
recset.GetFieldValue("Category",sCategory);
//
Insert
values
into
the
list
control
m_ListControl.InsertItem(0,sCatID,0);
m_ListControl.SetItemText(0,1,sCategory);
//
goto
next
record
recset.MoveNext();
}
//
Close
the
database
database.Close();
}
CATCH(CDBException,
e)
{
//
If
a
database
exception
occured,
pop
up
error
msg
AfxMessageBox("Database
error:
"+e->m_strError);
}
END_CATCH;
}
void
CReadDBDlg::ResetListControl()
{
m_ListControl.DeleteAllItems();
int
iNbrOfColumns;
CHeaderCtrl*
pHeader
=
(CHeaderCtrl*)m_ListControl.GetDlgItem(0);
if
(pHeader)
{
iNbrOfColumns
=
pHeader->GetItemCount();
}
for
(int
i
=
iNbrOfColumns;
i
>=
0;
i--)
{
m_ListControl.
DeleteColumn
(i);
}
}
D. 9.6 如何封装sql 数据库命令举例
做成 存储过程
create procere sp_procere --创建存储过程
(@key varchar(10)) --设置传递的参数(可以没有)
as
begin
--需封装的sql语句
end
运行该存储过程
exec sp_procere 参数
E. 如何将SQL的数据库连接封装到DLL中
使用C#生成dll文件并调用
一、创建dll文件:
例如生成一个md5编码判断状态的文件,即,输入一个字符串(string A)和一个32位md5编码(string B),判断此字符串A对应的32位md5编码是否与B相等,如果相等返回true,否则返回false。
打开VS 2005,“文件”--》“新建”--“项目”,选择“Windows 控件库”,命名后点击“确定”,在“UserControl1.cs”中输入以下代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Text;
using System.Security.Cryptography;
namespace md5
{
public partial class Program : UserControl
{
#region MD5 32位加密:GetMd5Str32
/// <summary>
/// 32位MD5加密
/// </summary>
/// <param name="strSource">待加密字串</param>
/// <returns>加密后的字串</returns>
public static string GetMd5Str32(string strSource)
{
byte[] bytes = Encoding.ASCII.GetBytes(strSource);
byte[] hashValue = ((System.Security.Cryptography.HashAlgorithm)System.Security.Cryptography.CryptoConfig.CreateFromName("MD5")).ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 16; i++)
{
sb.Append(hashValue[i].ToString("x2"));
}
return sb.ToString().ToUpper();
}
#endregion
#region 核对md5编码是否一致:CheckMd5String()
/// <summary>
/// 核对md5编码是否一致
/// </summary>
/// <param name="ConvertString"></param>
/// <returns>如果一致返回true,否则返回false</returns>
///
public static bool CheckMd5String(string str1, string str2)
{
string md5String = str1; //需要验证的字符串
string md5DbString = str2; //需要核对的32位md5编码
int result = string.Compare(md5.Program.GetMd5Str32(str1), md5DbString, true);
if (result == 0)
{
return true;
}
else
{
return false;
}
}
#endregion
}
}
修改“UserControl1.Designer.cs”中的命名空间为“md5”,方法为“Program”,即可生成dll文件。
在...\bin\Debug文件假下,可以找到相应的dll文件。
二、部署dll流程:
首先把dll文件放到应用程序...\bin\Debug\下;
然后在解决方案中添加引用:右键鼠标-->添加引用-->浏览-->选择dll放置路径后点击“确定”。
注意:要在应用文件头处使用using md5;命令。
测试应用程序代码,如下:Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using md5;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str1 = textBox1.Text.ToString();
string md5String = textBox2.Text.ToString();
textBox3.Text = md5.Program.GetMd5Str32(str1);
textBox4.Text = md5.Program.CheckMd5String(str1, md5String).ToString();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}