我创建了一个使用sqlite 数据库的 C# 应用程序
我的应用程序应该在系统帐户上运行。
当我在系统帐户上运行我的应用程序时,它运行得很好,但是当应用程序开始使用 sqlite 时,它发送了一个错误并且我的应用程序被关闭了......
更新:
错误附加在clsCon.con.State
我的代码:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication9
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void login_key_Click(object sender, RoutedEventArgs e)
{
//check connection is open . if it's close that and open again
if (clsCon.con.State == ConnectionState.Open)
clsCon.con.Close();
clsCon.con.Open();
// create a database object
DB DB_OBJECT = new DB();
//check user pass query
string result_query;
result_query = DB_OBJECT.check_user_pass(username.Text, password.Password);
MessageBox.Show(result_query);
clsCon.con.Close();
}
}
}
//--------------------------------
class clsCon
{
public static SQLiteConnection con = new SQLiteConnection("Data Source=Test.s3db");
public clsCon()
{
}
}
//--------------------------------
class DB
{
public string check_user_pass(string username, string password)
{
string string_result = "e1";
SQLiteCommand cmd = new SQLiteCommand();
String sSQL = "";
sSQL = "Select * from tbl_user Where username = '" + username + "'" + " AND password = '" + password + "'";
cmd.CommandText = sSQL;
cmd.Connection = clsCon.con;
SQLiteDataReader dr3;
dr3 = cmd.ExecuteReader();
int counter = 0;
while (dr3.Read())
{
counter++;
}
if (counter == 0) { string_result = "e1"; }
else { string_result = "success"; }
return string_result;
}
}