我想做一个登陆的功能
我用资源设置连接数据库的:
链接字符串是:
public static string connectionString = Constant.DBConnUrl;
public static DataTable ExecuteDataTable(string sql, SQLiteParameter[] parms)
{
DataTable data = new DataTable();
SQLiteConnection conn = new SQLiteConnection(connectionString);
SQLiteCommand command = new SQLiteCommand(sql, conn);
if (parms != null)
{
command.Parameters.AddRange(parms);
}
SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
adapter.Fill(data);
return data;
}
DAL层是:
public class UserDAL
{
public string UserPwdByUserName(string userName)
{
SQLiteParameter parm = new SQLiteParameter
("@userName", SqlDbType.VarChar);
parm.Value = userName;
string pwd = (string)SQLiteDBHelper.ExcuteScalar("select UserPwd from T1 where UserName=@userName", parm);
return pwd;
}
}
BLL:
SJ.DAL.UserDAL d = new SJ.DAL.UserDAL();
public string UserPwdByUserName(string userName)
{
string pwd = d.UserPwdByUserName(userName);
return pwd;
}
表示层是:
private void Login1_Click_1(object sender, RoutedEventArgs e)
{
string pwd = ub.UserPwdByUserName(UserName.Text.Trim().ToLower());
if (string.IsNullOrEmpty(pwd))
{
MessageBox.Show("无此用户");
return;
}
else
{
if (pwd.ToLower() == this.Pwd.Text.Trim().ToLower())
{
MessageBox.Show("成功");
Window1 i = new Window1();
i.Show();
this.Hide();
}
else
{
MessageBox.Show("失败");
}
}
检查数据库类:
public class DBCheck
{
public static Boolean InitDB()
{
bool success = true;
if (!DBExsist())//如果DB文件不存在,生成DB文件,及内部表结构
{
try
{
SQLiteConnection.CreateFile(Constant.DBLoc);
}
catch (Exception e)
{
success = false;
return success;
}
success = CreateTable(Constant.DBDDL);
}
return success;
}
private static Boolean DBExsist()
{
if (!File.Exists(Constant.DBLoc))
{
return false;
}
return true;
}
private static bool CreateTable(String ddl)
{
int val = 0;
val = SQLiteDBHelper.ExecuteNonQuery(ddl, null);
if (val != 0)
{
return false;
}
return true;
}
}
DB.sqlite:T1表,id,UserName,UserPwd。
在运行的时候提示SQL logic error or missing database
no such table:T1;