需要从 SQL Server 中的另一个表访问用户名
Posted
技术标签:
【中文标题】需要从 SQL Server 中的另一个表访问用户名【英文标题】:Need access username from another table in SQL Server 【发布时间】:2021-03-26 18:14:04 【问题描述】:我在数据库中有两张表,一张是UserAuth
,另一张是CarAdd
,但我需要在UserAuth
部分的UserAuth
表中显示UserName
。
此方法显示我的CarAdd
表中的所有数据:
void Bindata()
SqlCommand cmd = new SqlCommand("select * from CarAdd", con);
SqlDataAdapter sd = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sd.Fill(dt);
dataGridView1.ItemsSource = dt.DefaultView;
但是,现在我需要显示 dataGridView1 部分中UserAuth
表中的用户名。
我试过这段代码:
void BindataUserName()
SqlCommand cmd = new SqlCommand("select * from UsreAuth where UserName='UserName'", con);
SqlDataAdapter sd = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sd.Fill(dt);
// dataGridView1.ItemsSource = dt.DefaultView;
这是我的保存点击按钮,实际上我需要在点击这个按钮后在dataGridView1上保存并显示用户名:
private void save_Click(object sender, RoutedEventArgs e)
if (carid.Text != "" && cartype.Text != "" && model.Text != "" && intime.Text!="" && outtime.Text!="" && slotgroup.Text!="")
try
con.Open();
string newcon = "insert into CarAdd (carid, cartype, carmodel, duration, payment, slot_book, insertdate) values ('" + carid.Text + "','" + cartype.Text + "','" + model.Text + "', '" +txtduration.Text+ "','" +txtpayment.Text+ "','"+ slotgroup.Text +"' ,getdate())";
SqlCommand cmd = new SqlCommand(newcon, con);
cmd.ExecuteNonQuery();
MessageBox.Show("Successfully inserted");
Bindata();
// TimeShow();
catch (Exception ex)
MessageBox.Show(ex.Message);
finally
con.Close();
else
MessageBox.Show("Invalid credentials");
注意:我已经为这个项目创建了一个 WPF Windows 应用程序
谢谢!
【问题讨论】:
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看Little Bobby Tables 【参考方案1】:由于UserName
是UserAuth
表中的一个属性,因此必须对SQL 查询进行相应修改才能获取它。
SELECT UserName
FROM UserAuth
所以对于Bindatausername()
方法,SqlCommand
应该改为如下:
void BindataUserName()
SqlCommand cmd = new SqlCommand("select UserName from UserAuth where UserName='UserName'", con);
【讨论】:
好的,那么如何从数据库 UserAuth 表中显示带有“Lebel”的用户名! 您可以通过将查询修改为以下查询来查询“Lebel”的UserName
。 SqlCommand cmd = new SqlCommand("select UserName from UserAuth where UserName='Lebel'", con);
以上是关于需要从 SQL Server 中的另一个表访问用户名的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SQL Server 中的另一个数据库中选择表的数据?
SQL Server:将列数据值从一个表复制到同一数据库中的另一个表
当用户在 MS Access 中修改表中的另一列时,如何在 SQL Server 中将列设置为今天的日期 [关闭]
添加列通过从sql Server中的另一个表中选择所有项目来选择表