2010-11-30 3 views
0

Salut à tous J'ai un script SQL dans un fichier texte qui est le suivantComment sélectionner un certain texte à partir du fichier texte et entrez dans la boîte de texte

create view [dbo].[budget_change-22] 
as select projectname, projectnumber,location, client 
FROM  OPENROWSET('SQLNCLI', 'SERVER=AABB1089\abcWORKSS_STO;UID=abcworkss;PWD=abcdef, 
         'SET NOCOUNT ON;SET FMTONLY OFF;EXEC abcworks_sto..SP_Budget_444 38') AS Workchanged_444  
Go 

maintenant dans le script ci-dessus, je dois sélectionner la valeur du serveur (AABB1089 \ abcWORKSS_STO), valeur UID (abcwork), valeur Pwd (abcdef) afin que je puisse remplacer dans la zone de texte et les éditer pour créer un nouveau fichier texte avec un nom différent.

+0

WPF? Windows.Forms? –

Répondre

0

Cela dépend de la structure que votre interface utilisateur utilise, mais comme vous avez étiqueté C#, je vais supposer Winforms.

Serait-il possible de le faire à la place? Placez votre SQL dans un fichier, mais ne remplit pas les paramètres, à la place mis en place des supports que vous pouvez utiliser dans le code pour ajouter les valeurs qui viennent de vos zones de texte, par exemple:

create view [dbo].[budget_change-22] 
as select projectname, projectnumber,location, client 
FROM OPENROWSET('SQLNCLI', 'SERVER={0};UID={1};PWD={2}, 
'SET NOCOUNT ON;SET FMTONLY OFF;EXEC abcworks_sto..SP_Budget_444 38') AS Workchanged_444  
Go 

Notez que le « {x } ', dans votre code, lisez le fichier et utilisez string.Format pour remplacer les valeurs {x} si nécessaire. Code Psuedo:

// Read in the template file 
string fileSql = System.File.IO.ReadAllText(pathToYourTemplateFile) 

// Replace the place holders with your values (sample assumes 
// they are coming from textboxes on the UI 
string formattedSql = string.Format(fileSql, 
    txtServerName.Text, 
    txtUid.Text, 
    txtPassword.Text); 

// Write out the new file 
System.IO.File.WriteAllText(formattedSql, pathToYourNewFile); 

Si pour une raison quelconque, vous ne pouvez pas aller dans le sens d'un fichier modèle, vous pouvez alors utiliser String.replace() par exemple

// Read in the template file 
string fileSql = System.File.IO.ReadAllText(pathToYourTemplateFile) 

// Replace the values with the input from the UI 
fileSql.Replace("AABB1089\abcWORKSS_STO", txtServer.Text) 
// ... same for uid ... 
// ... same for pwd ... 

// Write out the new file 
System.IO.File.WriteAllText(fileSql , pathToYourNewFile); 
Questions connexes