使用MySQL服务器在C#中创建登录表单(主要问题)?
我在C#Winforms中有一个带有登录按钮的登录表单(如屏幕截图所示)。我想点击按钮,检查是否存在具有给定名称的用户。我使用以下代码(我只提交必要的代码): 假设数据库中我的使用MySQL服务器在C#中创建登录表单(主要问题)?,c#,mysql,winforms,login,C#,Mysql,Winforms,Login,我在C#Winforms中有一个带有登录按钮的登录表单(如屏幕截图所示)。我想点击按钮,检查是否存在具有给定名称的用户。我使用以下代码(我只提交必要的代码): 假设数据库中我的users表中的第二个字段是username,那么假设IsDBNull()有一个参数1(如果我们从0开始计算),我想问我做错了什么,因为有这样一个用户,即该字段不是空的,但我想显示的第二个表单不想打开。我想问为什么会这样 如果SQL在web服务器上(甚至是XAMPP),我建议通过PHP输出信息。这还允许通过webReque
users
表中的第二个字段是username
,那么假设IsDBNull()
有一个参数1(如果我们从0开始计算),我想问我做错了什么,因为有这样一个用户,即该字段不是空的,但我想显示的第二个表单不想打开。我想问为什么会这样
如果SQL在web服务器上(甚至是XAMPP),我建议通过PHP输出信息。这还允许通过webRequest库比较登录密码等。我不建议在最终版本中使用此代码,但我建议将其用于测试和构建 要使代码正常工作,您需要做以下几件事:
- 作为任何类型的web服务器,XAMPP都适合本地测试,因为它与Apache和phpMyAdmin一起提供
- 一个SQL数据库,至少有一个名为username的部分,其中输入了一项
// Connects to the website
var webRequest = WebRequest.Create("http://yourwebsite.com/programLogin.php?username=" + textBox1.Text);
using (var response = webRequest.GetResponse())
using (var content = response.GetResponseStream())
using (var reader = new StreamReader(content))
{
// This gets all of the info given out by the website
var info = reader.ReadToEnd();
// Comparing to expected outputs
if (info == "User found in the database")
{
MessageBox.Show("Username Exists", "Login Form");
}
else if (info == "Username not found")
{
MessageBox.Show("Username Not Found", "Login Form");
}
else
{
// This will most likely only thow if the website is down OR if there is a HTTP error 500 OR unsuccessful login to the database
MessageBox.Show("Unknown Error", "Login Form");
}
}
programLogin.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn)
{
die("Connection failed: " . mysqli_connect_error());
}
$user = $_GET['username'];
if (isset($user))
{
$sql = "SELECT username FROM users WHERE username='$user'";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
// $row['username']; will show the informaiton from the database;
echo "User found in the database";
}
}
else
{
echo "Username not found";
}
}
?>
如果这还不能回答您的问题,请向我提供有关您的计划所需内容的更多信息,我会向您提供更多帮助/资源
此代码未经测试
编辑:添加所需的using,将其更改为您感兴趣的特定列。