标签: sqlconnection

"使用SQLConnection对用户"C#登录失败

我一直在尝试通过我的C#代码连接到我的数据库(与我的代码位于同一台计算机上).问题是我一直得到"登录失败的用户"""错误...我承认我对连接数据库的知识很少,我已经尝试了其他问题中的几乎所有步骤!

这是我的代码的一部分:

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLServerConnection"].ConnectionString);
        SqlCommand command = connection.CreateCommand();
        command.CommandText = @"IF EXISTS
                            (
                              SELECT *
                              FROM user 
                              WHERE EMAILADRES = @email and WACHTWOORD = @password
                            ) SELECT CAST (1 as bit) 
                            ELSE
                              SELECT CAST(0 as bit)";
        command.Parameters.AddWithValue("email", email);
        command.Parameters.AddWithValue("password", password);


        connection.Open();
        object ReturnBool = command.ExecuteScalar();
        connection.Close();
Run Code Online (Sandbox Code Playgroud)

这是我的连接字符串:

<add name="SQLServerConnection" connectionString="Server=localhost; Database=database1;uid=NT AUTHORITY\NETWORK SERVICE" />
Run Code Online (Sandbox Code Playgroud)

c# sql database sqlconnection

10
推荐指数
2
解决办法
6万
查看次数

发布期间未复制数据库文件,因此安装的应用程序会引发异

我正在开发一个包含基于服务的数据的C#窗体应用程序.当我测试我的应用程序时,它的数据库工作正常但在程序尝试打开sqlconnection后发布和安装程序后,出现此错误:

System.Data.SqlClient.SqlException(0x80131904):尝试为文件C:\ Users\Behnam\AppData\Local\Apps\2.0\Data\5XVOVXV1.3VG\M5T04ZK7.QBJ\tahl附加自动命名的数据库. tion_45c3791d6509222d_0001.0000_be1c7cc05811ecf0\Data\AppData\TahlilGar.mdf失败.存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上.

这是我的ConnectionString:

<add name="BA" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\AppData\TahlilGar.mdf;
Integrated Security=True;"providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

我也尝试过:User Instance= True;但结果是:

连接到SQL Server的用户实例时,不允许用户实例登录标志.连接将被关闭.

我该如何解决这个问题?


编辑:我检查了提到的路径,但没有我的.mdf文件.所以我从我的项目中复制了它,之后它工作得很好.现在为什么我的mdf文件在预期路径中发布和安装时没有复制.

c# connection-string app-config sqlconnection local-database

10
推荐指数
1
解决办法
638
查看次数

为什么SqlConnection和SqlTransaction都存在于SqlCommand构造函数中?

我想知道,这个SqlCommand构造函数重载的原因是什么:

public SqlCommand(
    string cmdText,
    SqlConnection connection,
    SqlTransaction transaction
)
Run Code Online (Sandbox Code Playgroud)

当我需要创建一个使用作为参数提供的事务来完成其位的内部方法时,我总是觉得仅传递SqlTransaction给该方法就足够了,因为显然,连接将是tran.Connection.
这种过载是否同样适用?只通过cmdText而且还不够transaction吗?

实际上是否可以SqlCommand针对连接执行,提供SqlTransaction针对不同 的打开SqlConnection?这会导致什么结果?

ado.net design-patterns sqlcommand sqlconnection

9
推荐指数
1
解决办法
1153
查看次数

应用程序关闭时SqlConnection是否自动关闭?

我在一个单独的线程中查询数据库.

如果我在执行查询时关闭应用程序,SqlConnection会自动关闭还是会保持打开状态?

.net c# sql-server sqlconnection

9
推荐指数
1
解决办法
1704
查看次数

Sql事务中的隔离级别

SqlTransaction在c#中实现了开始,提交和回滚事务.一切都很顺利,但是在访问交易期间连接的那些表时我遇到了一些问题.在交易期间我无法读取表格(那些在交易中的表格).在搜索这个时,我发现它是由于独占锁而发生的.依次对该数据的任何后续选择都必须等待释放独占锁.然后,我已经完成了所提供的每个隔离级别SqlTransaction,但它没有用.因此,我需要在事务期间释放独占锁,以便其他用户可以访问该表并可以读取数据.有没有办法实现这个目标?提前致谢.

这是我的交易的c#代码

try
{
  SqlTransaction transaction = null;                         
  using (SqlConnection connection=new SqlConnection(Connection.ConnectionString))
  {
       connection.Open();
       transaction=connection.BeginTransaction(IsolationLevel.Snapshot,"FaresheetTransaction");            
       //Here all transaction occurs   
       if (transaction.Connection != null)
       {     
               transaction.Commit();
               transaction.Dispose();
       } 
   }
}
catch (Exception ex)
{
   if (transaction.Connection != null)
       transaction.Rollback();
   transaction.Dispose();   
}   `                         
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但问题是当我在事务处理期间访问表的数据(在事务期间访问的那些)时.这些表正由应用程序的其他部分访问.因此,当我尝试从表中读取数据时,它会抛出异常.

c# sql transactions sql-server-2005 sqlconnection

9
推荐指数
1
解决办法
2万
查看次数

通过客户端 - 服务器断开连接管理SQLConnection/Datasnap

在我的Datasnap客户端应用程序中,我使用1个TSQLConnection作为我的方法和ProviderConnection.连接丢失时出现问题.TSQLConnection.Connected和TSQLConnection.ConnectionState都没有捕获到它.

当我的TSQL连接打开但我丢失了互联网连接,或者服务器停止.Datasnap客户端应用程序提供了大量错误.(服务器方法或ClientDatasets)

我已经创建了一个函数来管理我的服务器方法的SQL连接.但是当例如关闭通过TDSProviderConnection连接的ClientDataset时会出现更多问题.

问:如何管理客户端应用程序以安全地捕获TSQL连接上的任何断开连接. :如何管理停机时间,以及如何处理未保存的客户端状态.

停机后重新连接不是问题.

调用servermethod时:这会抛出异常.

tmpM:=TServerMethodsClient.Create(MYTSQLCONNECTION.dbxconnection,true);
Run Code Online (Sandbox Code Playgroud)

所以我写下一个方法,用虚方法从我的数据模块中获取TSQLCONNECTION.

function TDMForm.DSConnection: TSQLConnection;
var
  tmpM:TServerMethodsClient;
begin
  result:=nil;
  if assigned(MYTSQLCONNECTION) then begin
    tmpM:=TServerMethodsClient.Create(MYTSQLCONNECTION.dbxconnection,true);
    try
      try
        tmpM.Ping;
        result:=MYTSQLCONNECTION
      except
        ReconnectForm.ShowModal; // has a reconnect button that tries to reconnect + shutdownbutton
        if ReconnectForm.modalresult=mrOK then
          result:=MYTSQLCONNECTION
        else
          MainForm.Close;
      end;
    finally
      tmpm.Free;
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我用这种方式写了这个方法,因为只有找出连接是否丢失的方法是通过伪方法,它会抛出相同的错误...然后我可以查询重新连接或关闭程序.

编辑:(我期待某种一般的答案和指导方针,做和不做.不是我的代码的更正,这只是为了表明我现在在做什么.)

delphi sqlconnection datasnap disconnect delphi-xe2

9
推荐指数
1
解决办法
5953
查看次数

使用C#的'using'语句和自定义对象的函数,我是否需要实现IDisposable?

我有一个像这样的sqlConnection管理器类:

public class SQLConn {
  public string connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];

  private SqlConnection sqlConn;

  public SqlConnection Connection()
  {
      sqlConn = new SqlConnection(connStr);

      return sqlConn;
  }

  public void Open()
  {
        sqlConn .Open();
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用带有'using'语句的函数,例如:

var conn = new SQLConn();

using (conn.Connection()) 
{ 
    String query = "Select * from table";
    objSql = new SqlCommand(query, conn.Connection());      

    conn.Open(); 
    DoSomething(); 
}
Run Code Online (Sandbox Code Playgroud)

conn.Connection()返回SqlConnection对象后,using语句是否自动处理连接?或者,我是否必须在SqlConn类上实现IDisposable和自定义Dispose方法?

这甚至是一个好方法吗?我正在使用遗留代码,但我还无法使用ORM,但有没有办法简化现有模式来管理/创建SQL连接?

c# idisposable sqlconnection

8
推荐指数
2
解决办法
2万
查看次数

是否有标准的.NET方法来测试SqlConnection字符串是否有效?

可能重复:
如何检查连接字符串是否有效?

目前我这样做:

internal bool CheckConnection()
{
    using (SqlConnection testConn = new SqlConnection(this.ConnectionString))
    {
        try
        {
            testConn.Open();
        }
        catch (SqlException)
        {
            return false;
        }
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

c# sqlconnection

8
推荐指数
1
解决办法
4520
查看次数

Sql连接和OLEDB连接之间的区别

SQL Connection和OLEDB Connection有什么区别?是OLEDB对所有人(也是SQL Server)都是通用的吗?OLEDB正在使用哪些服务器?

sql sqlconnection oledbconnection

8
推荐指数
2
解决办法
2万
查看次数

SqlConnection线程安全吗?

我有一个Log类将日志放在Windows日志和SQL表中.为了优化我的代码,我想只使用一个SqlConnection.

在MSDN中,它说:public static此类型的任何(在Visual Basic中共享)成员都是线程安全的.任何实例成员都不保证是线程安全的.

我的问题是:

private static readonly SqlConnection conn = new SqlConnection(ConfigParameters.Instance.UIDConnection);
Run Code Online (Sandbox Code Playgroud)

它是线程安全的吗?如果是的话,何时使用Open()Close()

如果没有,怎么使用得当SqlConnection

这是我的完整类代码:

private static readonly SqlConnection conn = new SqlConnection(ConfigParameters.Instance.UIDConnection);

public static long WriteLog(string sSource, string sMessage, int iErrorCode, EventLogEntryType xErrorType)
{
    // Windows Logs
    if (ConfigParameters.Instance.WindowsLog)
        EventLog.WriteEntry(sSource, sMessage, xErrorType, iErrorCode);

    // SQL Logs
    // TODO

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c# wcf multithreading sqlconnection thread-safety

8
推荐指数
1
解决办法
1万
查看次数