【问题标题】:Connection string in C# Window applicationC# Window 应用程序中的连接字符串
【发布时间】:2013-09-27 21:40:37
【问题描述】:

在窗口应用程序中,我正在尝试使用数据库,如何在 app.config 中编写连接字符串。下面是app.config中的连接字符串

<configuration>
 <appSettings >
  <add key ="mycon" 
      value ="server=192*****;database=*****;
      uid=**;pwd=*****;"/>
</appSettings>
</configuration>

连接数据库的代码:

  SqlConnection con = new SqlConnection(
   ConfigurationSettings.AppSettings["mycon"].ToString()); con.Open(); 
  SqlCommand cmd = new SqlCommand("Usp_chat_login", con);
  cmd.CommandType = CommandType.StoredProcedure ;
  cmd.Parameters.Add("@userid", SqlDbType.VarChar, 20);
   cmd.Parameters["@userid"].Value = textBox1.Text;
  cmd.Parameters.Add("@password", SqlDbType.VarChar, 20);
  cmd.Parameters["@password"].Value = textBox2.Text;
  int reslt =  cmd.ExecuteNonQuery();  con.Close();
  if (reslt > 0)
    {
       MessageBox.Show("Yes");
    } 
  else
     {
          MessageBox.Show("No");

     }

每次我收到reslt=-1,即使我通过了正确的凭据

【问题讨论】:

标签: c# sql-server wpf winforms


【解决方案1】:

每次我得到 reslt=-1,即使我通过了正确的凭据

这与凭据无关,也与配置文件无关。如果对数据库的身份验证/授权失败,则会抛出异常。

问题可能出在您的Usp_chat_login 程序中。

查看documentation 获取ExecuteNonQuery()

对于 UPDATE、INSERT 和 DELETE 语句,返回值为 受命令影响的行数。当触发器存在于 正在插入或更新的表,返回值包括数字 受插入或更新操作和数量影响的行数 受触发器或触发器影响的行数。对于所有其他类型的 语句,返回值为-1。如果发生回滚,则返回 值也是-1。

其他说明:

  • 实现IDisposable 的类型应该被丢弃,尤其是与非托管资源交互的类型(例如数据库连接)。一种简单的方法是将这些类型的实例包装在 using statement 中。

  • 纯文本密码在任何应用程序中被认为是不安全/不负责任的。

【讨论】:

    【解决方案2】:

    在 App.XAML 中编写

     public partial class App : Application
    {
        public App()
        {
            string connectionStr = "Data Source=system\\SQLExpress;Initial Catalog=DBName; user id=sa; password=test123;";
            Application.Current.Properties["conStr"] = connectionStr;
        }
    }
    

    并以主窗体访问它

    static string strCon = Application.Current.Properties["conStr"].ToString();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 2016-06-01
      相关资源
      最近更新 更多