
select
*
from
【表名】
where
[字段名]='"
+
textbox1.text
+
"'
一般都是用sqldatareader
dr
去读取,如果读取到了说明这个用户名存在,那么在判断密码字段dr["pwd"].tostring()
==textbox2.text.tostring()是否等于textbox2输入的。如果没有读到,那说明这个用户名不存在,可以直接d出错误提示。
这是大概思路,如果想要全部源码可以向我直接提问,说明问题附带说明要源码就可以。
Private Sub Command1_Click()Dim conn As ADODB.Connection
Dim Rs As ADODB.Recordset
Set conn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
conn.Open "provider=microsoft.jet.oledb.4.0data source=d:\db1.mdb"
Rs.Open "select id from table1", conn, 1, 3
''''''''''''''以上不是重点,只是为了链接数据库
Dim a() As Long'定义a数组
Dim l As Long
l = 0
While Not Rs.EOF
ReDim Preserve a(0 To l) As Long '重定义数组大小
a(l) = Rs("id") '保存新数据
l = l + 1
Rs.MoveNext
Wend
'''''''''''''''''''以下也不是重点
Rs.Close
conn.Close
Set conn = Nothing
Set Rs = Nothing
For l = 0 To UBound(a)
Print a(l)
Next l
End Sub
首先,通过SQL语言把数据读入Dataset中,再用反射吧Dataset中的数据存入数组(其使用对象更好一些),给你个例子:数据查询:
//数据库连接字符串(web.config来配置),可以动态更改SQLString支持多数据库.
public static string connectionString = "Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["SQLString"] + "UTF8Encoding=TruePooling=TrueMax Pool Size=100"
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string SQLString) {
using(SQLiteConnection connection = new SQLiteConnection(connectionString)) {
DataSet ds = new DataSet()
try {
connection.Open()
SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection)
command.Fill(ds, "ds")
} catch (System.Data.SQLite.SQLiteException ex) {
connection.Close()
throw new Exception(ex.Message)
} finally {
connection.Close()
}
return ds
}
}
数据的转换(Dataset ->数据对象):
private static ArrayList DataSetConvertToObject(DataSet ds, Type objectType) {
ArrayList objList = new ArrayList()
for (int j = 0j <ds.Tables[0].Rows.Countj++) {
Object obj = Activator.CreateInstance(objectType)
PropertyInfo[] properties = obj.GetType().GetProperties()
for (int i = 0i <ds.Tables[0].Columns.Counti++) {
string columnName = ds.Tables[0].Columns[i].Caption
string value = ds.Tables[0].Rows[j][columnName].ToString()
foreach(PropertyInfo info in properties) {
if (info.Name.Equals(columnName)) {
string propertyType = info.PropertyType.Name
switch (propertyType) {
case "Guid":
{
info.SetValue(obj, new Guid(value), null)
break
}
case "DateTime":
{
DateTimeFormatInfo format = new CultureInfo("zh-cn", true).DateTimeFormat
info.SetValue(obj, DateTime.Parse(value, format), null)
break
}
case "String":
default:
{
info.SetValue(obj, value, null)
break
}
case "Int32":
{
info.SetValue(obj, int.Parse(value), null)
break
}
case "Single":
{
info.SetValue(obj, float.Parse(value), null)
break
}
}
break
}
}
}
objList.Add(obj)
}
return objList
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)