Je connecte la base de données à Visual Studio 2017. Lorsque j'essaie d'exécuter une requête, elle affiche l'erreur suivante:
La chaîne de connexion que j'utilise est:
SqlConnection con = new SqlConnection("Data Source=ANUPAM-DESKTOP\ANUPAM;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
Mon code:
public void exicuteDatabaseQuery(String query)
{
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(query, con);
sda.SelectCommand.ExecuteNonQuery();
con.Close();
MessageBox.Show("Successfull");
}
private void Button_Click(object sender, RoutedEventArgs e)
{
int id = Convert.ToInt32(___Id_.Text);
int number = Convert.ToInt32(___Number_.Text);
String InsertQuery = "INSERT INTO Member (id, number)
values('"+id+"','"+number+"')";
exicuteDatabaseQuery(InsertQuery);
}
Image de l'explorateur de base de données:
Je suppose que le problème est que votre connexion SQL Server n'a pas sa "base de données par défaut" correctement définie.
Cela vous montrera ce que votre "base de données par défaut" est définie sur:
SELECT sp.name
, sp.default_database_name
FROM sys.server_principals sp
WHERE sp.name = SUSER_SNAME();
Vous pouvez soit modifier la base de données par défaut de votre connexion, soit spécifier la base de données dans la chaîne de connexion.
Cela modifiera votre base de données par défaut:
ALTER LOGIN <login_name> WITH DEFAULT_DATABASE = [testDB];
Si vous souhaitez spécifier la base de données dans la chaîne de connexion, créez votre chaîne de connexion:
SqlConnection con = new SqlConnection("Data Source=ANUPAM-DESKTOP\\ANUPAM;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;Initial Catalog=testDB");