C# 如何在WindowsPhone8.1中从Sqlite中的两个表中检索数据
我创建了两个注册表 1.用户注册 2.公司注册(在一个数据库中) 我创建了一个登录页面。如何从表中检索特定用户C# 如何在WindowsPhone8.1中从Sqlite中的两个表中检索数据,c#,sqlite,visual-studio-2013,windows-phone-8.1,C#,Sqlite,Visual Studio 2013,Windows Phone 8.1,我创建了两个注册表 1.用户注册 2.公司注册(在一个数据库中) 我创建了一个登录页面。如何从表中检索特定用户 class UserReg { [AutoIncrement, PrimaryKey] public int UserID { get; set; } public string Name { get; set; } public string UserName { get; set; } public string UserPassword {
class UserReg
{
[AutoIncrement, PrimaryKey]
public int UserID { get; set; }
public string Name { get; set; }
public string UserName { get; set; }
public string UserPassword { get; set; }
public string Gender { get; set; }
public string State { get; set; }
}
以上代码用于用户注册表
class FuelReg
{
[AutoIncrement,PrimaryKey]
public int FuelID { get; set; }
public string FuelName { get; set; }
public string FuelPassword { get; set; }
public string CompanyName { get; set; }
public string CompanyAddress { get; set; }
}
以上代码用于公司注册
现在,用户和公司应该使用相同的登录页面登录。如何实现这一点
我尝试了一些代码,但无法比较特定用户。我的主要问题是,如果用户和公司提供类似的用户和密码,那将是失败的。那么如何改变它。(项目中未给出验证)
private async void按钮\u单击\u 1(对象发送方,RoutedEventArgs e)
{
var dbpath=ApplicationData.Current.LocalFolder.Path+“/Map.db”;
var con=新的SQLiteAsyncConnection(dbpath);
尝试
{
UserReg t=new UserReg();
string query=string.Format(“从UserReg中选择用户名、UserPassword、性别、状态、名称,其中UserName='{0}'和UserPassword='{1}',text_user.text,text_pass.Password);
List mylist=wait con.QueryAsync(查询);
如果(mylist.Count==1)
{
t=mylist[0];
}
如果(t.UserName==text\u user.text&&t.UserPassword==text\u pass.Password&&t.Gender!=null&&t.Name!=null&&t.State!=null)
{
此.Frame.Navigate(typeof(MainPage));
}
其他的
{
FuelReg f=新的FuelReg();
string query1=string.Format(“从FuelReg中选择FuelName、FuelPassword、CompanyName、CompanyAddress,其中FuelName='{0}'和FuelPassword='{1}',text_user.text,text_pass.Password);
List mylist1=wait con.QueryAsync(query1);
如果(mylist1.Count==1)
{
f=mylist1[0];
}
如果(f.FuelName==text\u user.text&&f.FuelPassword==text\u Password&&f.CompanyName!=null&&f.CompanyAddress!=null)
{
this.Frame.Navigate(typeof(NewPage));
}
}
}
捕获(例外情况除外)
{
var msd=newmessagedialog(“+ex).ShowAsync();
}
}
那么,当用户从两个表中输入SignIn页面时,如何获取准确的数据呢
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
var dbpath = ApplicationData.Current.LocalFolder.Path + "/Map.db";
var con = new SQLiteAsyncConnection(dbpath);
try
{
UserReg t = new UserReg();
string query = string.Format("select UserName,UserPassword,Gender,State,Name from UserReg where UserName='{0}' and UserPassword='{1}'", text_user.Text, text_pass.Password);
List<UserReg> mylist = await con.QueryAsync<UserReg>(query);
if (mylist.Count == 1)
{
t = mylist[0];
}
if (t.UserName == text_user.Text && t.UserPassword == text_pass.Password && t.Gender!=null && t.Name!=null && t.State!=null)
{
this.Frame.Navigate(typeof(MainPage));
}
else
{
FuelReg f = new FuelReg();
string query1 = string.Format("select FuelName,FuelPassword,CompanyName,CompanyAddress from FuelReg where FuelName='{0}' and FuelPassword='{1}'", text_user.Text, text_pass.Password);
List<FuelReg> mylist1 = await con.QueryAsync<FuelReg>(query1);
if (mylist1.Count == 1)
{
f = mylist1[0];
}
if (f.FuelName == text_user.Text && f.FuelPassword == text_pass.Password && f.CompanyName!=null && f.CompanyAddress!=null)
{
this.Frame.Navigate(typeof(NewPage));
}
}
}
catch(Exception ex)
{
var msd = new MessageDialog("" + ex).ShowAsync();
}
}