2010-11-04 2 views
2

J'essaye d'écrire t-sql en C# (visual studio). J'ai ce code pour se connecter à la base de données:Où/comment écrire T-SQL dans mon code C# et obtenir le résultat (Visual Studio 2008)

using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Linq; 
    using System.Text; 
    using System.Windows.Forms; 
    using System.Data.SqlClient; 
    using Microsoft.SqlServer.Server; 

namespace WindowsFormsApplication8 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      string connetionString = null; 
      SqlConnection cnn; 
      connetionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Xtreme\\Desktop\\CardsDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; 
      cnn = new SqlConnection(connetionString); 
      try 
      { 


       cnn.Open(); 
       MessageBox.Show("Connection Open ! "); 

       cnn.Close(); 

      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Can not open connection ! "); 
      } 


     } 
    } 
} 

Où/comment puis-je écrire le code T-SQL et comment puis-je obtenir le résultat? Est-ce que quelqu'un peut me donner un simple exemple de sélection dans mon code?

Répondre

0

Créez un SqlCommand et définissez CommandType sur CommandType.Text. Ensuite, ajoutez votre SQL à la propriété CommandText du SqlCommand.

SqlCommand command = new SqlCommand(commandName, (SqlConnection)Connection); 
command.CommandType = CommandType.Text; 
command.CommandText = "SELECT * FROM MyTable"; 
IDataReader result = command.ExecuteReader(); 
1

Vous pouvez utiliser DataAdapter.Fill Méthode:

try 
{ 
    using (SqlDataAdapter a = new SqlDataAdapter("SELECT * FROM Employee", cnn)) 
    { 
     // Use DataAdapter to fill DataTable 
     DataTable t = new DataTable(); 
     a.Fill(t); 

     // Render data onto the screen 
     dataGridView1.DataSource = t; //if you want. 
    } 
} 
catch (Exception ex) 
{ 
    MessageBox.Show("Problem!"); 
} 
0

Ardman déjà vous a montré comment exécuter une commande SQL arbitraire. Mais ce que je n'ai pas très bien répondu, c'est où mettre votre déclaration SQL.

Je pense que c'est un très mauvais comportement et aussi pas très bon à lire si vous mettez votre déclaration directement dans le code.

Une meilleure méthode (à mes yeux) est le suivant:

  • Au sein de votre projet de créer un nouveau dossier (peut-être appelé requêtes)
  • Faites un clic droit dans ce dossier et sélectionnez Ajouter - Nouvel élément
  • Dans la boîte de dialogue il suffit de sélectionner Textfile et lui donner le nom de ce que cette requête fera
    • Assurez-vous que vous remplacez l'extension du fichier de .txt-.sql
  • Il suffit de mettre votre déclaration à droite dans ce fichier
  • Dans l'éditeur de ressources ajouter ce fichier comme une ressource
  • Maintenant, vous pouvez accéder à cette instruction SQL dans votre projet en utilisant simplement Properties.Resources.MySqlStatement
Questions connexes