2011-04-06 4 views
0

Je suis assez nouveau dans .net, j'espère que cette question ne semblera pas stupide. Comment puis-je faire le script sql suivant à la base de données dans un webmethod dans .net C#?Comment exécuter le script sql sur le serveur Web dans l'application web .net C#?

Sous Web.config J'ai le code le code suivant pour la connexion à la base de données:

<connectionStrings> 
    <add name="TestConnectionString" connectionString="Data Source=TXT-TEST-SQL-02;Initial Catalog=Test;Integrated Security=True" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

Comment puis-je faire en test.asmx.cs - webmethod pour exécuter le script suivant de la base de données extraites du les données de la table?

[WebMethod] 
public string testSearch(int id) 
{ 
    return result; 
} 

SELECT name 
FROM Customer 
WHERE customer_id = id 

Répondre

3

Essayez

using System; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 
using System.Web.Services; 

et

[WebMethod] 
public string testSearch(int id) 
{ 
    string connString = ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString; 
    using (SqlConnection conn = new SqlConnection(connString)) 
    { 

     String sql = "SELECT name FROM Customer WHERE customer_id = @id"; 
     SqlCommand cmd = new SqlCommand(sql, conn); 
     cmd.Parameters.Add("@id", SqlDbType.Int); 
     cmd.Parameters["@id"].Value = id; 
     String result = ""; 
     try 
     { 
      conn.Open(); 
      result = (string)cmd.ExecuteScalar(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
     } 
     return result; 
    } 
} 
+0

@Bala: Il me montrer que l'erreur a dit: «Le nom 'ConfigurationManager' n'existe pas dans le contexte actuel –

+0

@Jin Yong se assurer vous avez tout le nécessaire 'using'. –

+0

+1 pour une requête paramétrée. – spender

Questions connexes