簡體   English   中英

在Visual Studio 2012 C#中連接到SQL Server數據庫

[英]Connection to SQL Server Database inside Visual Studio 2012 C#

如果這很容易,請原諒我,並且我已經看過類似的文章,但是我對C#還是陌生的,並且一直在為此苦苦掙扎,所以任何幫助將不勝感激。

我正在嘗試連接到Visual Studio 2012中的本地DB SQL Server,但到目前為止還沒有運氣。

我是從本地數據庫的屬性中獲得連接字符串的,該數據庫在圖中位於左側窗格中。

public void connection()
{

    string connectionString = "Data Source=(localdb)\v11.0;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";

    SqlConnection con = new SqlConnection(connectionString);

    try
    {
        con.Open();
        lblConnectionTest.Text = "Connected successfully";

    }
    catch (SqlException ex)
    {
        lblConnectionTest.Text = ex.Message;
    }


} 

在這一點上,我要做的就是建立與數據庫的連接,如果連接成功,則基本上寫出“連接成功”等信息。

目前,我所收到的錯誤如下:

A network-related or instance-specific error occurred 
while establishing a connection to SQL Server. 
The server was not found or was not accessible. 
Verify that the instance name is correct and that SQL Server 
is configured to allow remote connections. 
(provider: Named Pipes Provider, error: 40 -     
Could not open a connection to SQL Server)

我在這里做錯了什么?

非常感謝!

在此處輸入圖片說明

首先,我建議您在配置文件中設置連接字符串。

鏈接: http : //msdn.microsoft.com/fr-fr/library/ms254494(v=vs.110).aspx

第二個主題,最佳實踐是using bloc

鏈接: http : //msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqlconnection(v=vs.110).aspx

DataSource是您的目標sql服務器,可以訪問服務器的屬性並獲取名稱,但是對於您而言,我認為您想遠程訪問,因此請確保將防火牆服務器配置為允許。

如果您使用的是C#,則可以創建一個應用程序配置文件(App.config),該文件將帶有其名稱的連接字符串。

這是app.config中的示例代碼

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
    <connectionStrings>
       <add name="myConnString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\AppsTest\Nov17RoomBooking\dbRoomBooking.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
    providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

然后您的代碼應如下所示:

private static string sqlConnectionString = ConfigurationManager.ConnectionStrings["myConnString"].ConnectionString;

    private void DeletingDataBase()
    {
        using (SqlConnection sqlConn = new SqlConnection(sqlConnectionString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                string sqlQuery = "SELECT, INSERT, UPDATE, DELETE";
                cmd.Connection = sqlConn;
                cmd.CommandText = sqlQuery;
                try
                {
                    cmd.Connection.Open();
                    cmd.ExecuteNonQuery();
                }
                catch { }
                finally
                {
                    cmd.Connection.Close();
                }
            }
        }
    }

我鼓勵您開始學習LINQ to SQL。 我認為這是處理數據和與數據庫進行交互的更好方法。 我看到您正在嘗試連接到MySql,但是我真的不知道在使用LINQ時是否可行。 我希望有人回答這個問題。

您的連接字符串錯誤。

MS SQL SERVER 2012 Express的正確語法(內置於中)

讓我們假設我的數據庫文件位於路徑:

C:\\ Users \\ Zohair \\ Documents \\ Visual Studio 2012 \\ Projects \\ Learning2 \\ Learning2 \\ Sample.mdf

我的連接字符串將為:

SqlConnection conn = new SqlConnection("Data Source=(localdb)\\v11.0;Integrated Security=true;AttachDbFileName=C:\\Users\\Zohair\\Documents\\Visual Studio 2012\\Projects\\Learning2\\Learning2\\Sample.mdf"); 

注意:如果在使用單斜杠( \\ )時出現錯誤,則將其替換為雙斜杠( \\\\

實際上,您只需單擊幾下即可解決所有這些問題,例如,使用Visual Studio 2012,並通過將我的ms sql表拉到aspx文件中,它實際上可以自行形成該表,甚至可以為您構建所有連接字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM