【发布时间】:2012-03-30 02:45:28
【问题描述】:
先生, 我对 SQL Server 中的数据库有一些问题。 我的项目是带有登录方法的桌面应用程序.... 我的程序是用 C# 编写的,可以正常执行,我的查询中没有错误... 但是数据不会存储回程序插入或更新的数据库...我的数据库是由 Visual Studio 2010 创建的,作为数据文件夹中的单独 mdf 文件... 所以请在这方面帮助我。这是一个示例代码:
private void btnLogin_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection cn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database_File.mdf;Integrated Security=True;User Instance=True"))
{
using (SqlCommand cmd = new SqlCommand("select * from table_users where user_name='" + txtBoxUserName.Text + "' and user_password='" + txtBoxUserPass.Text + "' ",cn))
{
cn.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
if (dr["user_name"].ToString() == txtBoxUserName.Text && dr["user_password"].ToString() == txtBoxUserPass.Text)
{
...
...
try
{
using (SqlCommand cmd1 = new SqlCommand("insert into table_user(id,user_name,user_status) values(" + key + "," + active_user_name + "',"+ user_status + ")",cn))
{
cmd1.ExecuteNonQuery();
Thread form_name = new Thread(new ThreadStart(thread_Proc_form_name));
form_name.Start();
}
}
catch { throw;}
}
}
}
}
}
catch { throw;}
}
程序按我的意愿运行,但是当我查看数据库表时,没有保存任何更改。例如:当我登录时,下次运行时数据库中不会显示登录信息。 注册也是如此……每次我运行应用程序时,我都必须一次又一次地注册。我不知道错误在哪里。请先生帮我看看我哪里出错了......
感谢和问候 索拉布·马哈詹
【问题讨论】:
-
请注意,TRY CATCH {throw;} 是默认行为。你可以删除这些,它不会改变你的应用程序
-
谢谢先生...但是使用 try catch 只是小型应用程序的一个选项...我们是否使用它几乎不会影响问题...
-
请指出代码在哪里更新数据库,因为我没有看到它!如果是cmd1,就是空插入查询!
-
即使你不写,你的 TRY CATCH 也在那里。它隐含地在那里。这只是代码中的噪音。
-
我已经编辑了插入和选择查询的问题......谢谢先生......
标签: c# sql-server visual-studio-2010 sql-server-2005 c#-4.0