【发布时间】:2016-08-15 11:52:14
【问题描述】:
我现在正在尝试开始使用 WPF。我对 android 和 java 有一些经验,但我从未使用过 C#。我已经建立了一个数据库,我建立了与数据库的连接并使用 LINQ 为数据库 (Visual Studio) 创建了所有的 getter 和 setter,称为 databaselink.dbml。
我创建了一个简单的注册窗口(我知道,密码不应该是纯文本,也不应该存储在变量中,但这只是为了简化应用程序,我无意实际使用它) .
<Window x:Class="Berichtensysteem.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Berichtensysteem"
mc:Ignorable="d"
Title="Registreren" Height="300" Width="300"
WindowState="Maximized">
<Grid RenderTransformOrigin="0.494,0.507">
<TextBox x:Name="username" HorizontalAlignment="Left" Height="23" Margin="144,92,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120" />
<TextBox x:Name="password" HorizontalAlignment="Left" Height="23" Margin="144,115,0,0" VerticalAlignment="Top" Width="120" />
<TextBox x:Name="passcon" HorizontalAlignment="Left" Height="23" Margin="144,138,0,0" VerticalAlignment="Top" Width="120" />
<Button x:Name="register" Content="Registreren" HorizontalAlignment="Left" Margin="78,189,0,0" VerticalAlignment="Top" Width="120" Height="23"
Click="register_click"
/>
<TextBlock x:Name="usertxt" HorizontalAlignment="Left" Margin="23,93,0,0" Height="23" TextWrapping="Wrap" Text="Gebruikersnaam" VerticalAlignment="Top"/>
<TextBlock x:Name="pwtxt" HorizontalAlignment="Left" Margin="23,116,0,0" Height="23" TextWrapping="Wrap" Text="Wachtwoord" VerticalAlignment="Top"/>
<TextBlock x:Name="pwctxt" HorizontalAlignment="Left" Margin="23,138,0,0" Height="23" TextWrapping="Wrap" Text="Herhaal wachtwoord" VerticalAlignment="Top"/>
</Grid>
</Window>
所以我为我的注册按钮设置了点击。目前,我的代码如下所示:
namespace Berichtensysteem
{
/// <summary>
/// Interaction logic for Window2.xaml
/// </summary>
public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
}
private void register_Click(object sender, RoutedEventArgs e)
{
if (username.Text.Length == 0)
{
username.Text = "Geef gebruikersnaam in";
}
else if (password.Text.Length == 0)
{
password.Text = "Voer wachtwoord in";
}
else if (password != passcon)
{
password.Text = "Wachtwoorden niet gelijk";
}
else
{
string name = username.Text;
string pass = password.Text;
// See if user in database exists, add user to database if not.
}
}
}
}
首先,我将窗口重命名为“Registerwindow.xaml”和 Registerwindow.xaml.cs。我的代码没有任何变化,这正常吗?在android中,代码被重构,因为名称必须相同,WPF中不是这样吗?
我的链接类:
#region Extensibility Method Definitions
partial void OnCreated();
partial void Insertemail(email instance);
partial void Updateemail(email instance);
partial void Deleteemail(email instance);
partial void Insertuser(user instance);
partial void Updateuser(user instance);
partial void Deleteuser(user instance);
partial void Inserttype(type instance);
partial void Updatetype(type instance);
partial void Deletetype(type instance);
partial void Insertrecipient(recipient instance);
partial void Updaterecipient(recipient instance);
partial void Deleterecipient(recipient instance);
#endregion
public databaselinkDataContext() :
base(global::Berichtensysteem.Properties.Settings.Default.emaildatabaseConnectionString, mappingSource)
{
OnCreated();
}
public databaselinkDataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
public databaselinkDataContext(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
public databaselinkDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public databaselinkDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
有人可以帮我解决这个问题吗?如果我有一个示例,我可以继续使用它来完成所有其他与数据库相关的工作。抱歉,如果这看起来很愚蠢。
哦,如果不清楚,我的问题是:我现在如何检查用户是否存在于我的数据库中,如果不存在则添加它。
【问题讨论】:
标签: c# wpf linq data-binding