Est-il possible (dans Vb.Net 2005), sans analyser manuellement les propriétés de la table de jeu de données, de créer la table et de l'ajouter à la base de données? Nous avons d'anciennes versions de notre programme sur certaines machines, qui a évidemment notre ancienne base de données, et nous cherchons un moyen de détecter s'il y a une table manquante et ensuite générer la table en fonction de l'état actuel de la table dans l'ensemble de données. Nous réécrivions la table à chaque fois que nous publions une nouvelle version (si de nouvelles colonnes étaient ajoutées) mais nous aimerions éviter cette étape si possible.Créer une table DB à partir de la table de jeux de données
9
A
Répondre
7
Voir cet article du forum MSDN: Creating a new Table in SQL Server from ADO.net DataTable.
Ici, l'affiche semble essayer de faire la même chose que vous et fournit du code qui génère une instruction Create Table en utilisant le schéma contenu dans un DataTable. En supposant que cela fonctionne comme il se doit, vous pouvez alors prendre ce code et le soumettre à la base de données via SqlCommand.ExecuteNonQuery()
afin de créer votre table.
1
Voici le code
SqlConnection con = new SqlConnection("Data Source=.;uid=sa;pwd=sa123;database=Example1");
con.Open();
string sql = "Create Table abcd (";
foreach (DataColumn column in dt.Columns)
{
sql += "[" + column.ColumnName + "] " + "nvarchar(50)" + ",";
}
sql = sql.TrimEnd(new char[] { ',' }) + ")";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.ExecuteNonQuery();
using (var adapter = new SqlDataAdapter("SELECT * FROM abcd", con))
using(var builder = new SqlCommandBuilder(adapter))
{
adapter.InsertCommand = builder.GetInsertCommand();
adapter.Update(dt);
}
con.Close();
espère que vous avez résolu le problème. ici dt est le nom de la table de données. alternativement u peut remplacer
adapter.update(dt);
avec
adapter.Update(ds.Tables[0]); \\if u have a dataset
S'il vous plaît voter ma réponse si vous pensez que je vous ai fourni une réponse !!!
Questions connexes
- 1. Créer un DataTable avec une structure de table DB
- 2. Refactoring de table DB
- 3. Créer une base de données à partir du projet db
- 4. Zend_Auth: structure de la table DB
- 5. Jeux de données. Pourquoi utiliser l'adaptateur de requête à la place ou l'adaptateur de table?
- 6. Puis-je créer une table (si elle n'existe pas) à partir des métadonnées Rose :: DB :: Object?
- 7. Créer une table à partir de données DataTable/Dataset existantes avec ADO.net?
- 8. Créer une table SQL à partir d'Excel VBA
- 9. Affichage des données de requête DB en tant que table
- 10. Comment faire pour récupérer l'instruction create pour la table à partir de DB dans C#
- 11. Comment créer une table SQL et la remplir avec des données de feuille de calcul Excel?
- 12. Filtrage à partir de la table de jointure
- 13. données dans une table emboîtées de base de données
- 14. Impossible d'exporter la table DB Access
- 15. LINQ: Pré-extraction de données à partir d'une seconde table
- 16. Impossible de créer la table dans jQuery
- 17. Mise à jour de plusieurs colonnes dans une TABLE à partir d'une autre table (Oracle)
- 18. itération à travers une table Lua à partir de C++?
- 19. Renvoi de données sans accéder à une table
- 20. Comment puis-je créer une table en tant que sélection à partir d'une autre base de données dans Oracle?
- 21. MYSQL Créer une table + Modifier la syntaxe incorrecte de la table?
- 22. Comment créer une liste de tous les tuples possibles à partir de cette table?
- 23. Créer par programme une table SQL Server CE à partir de DataTable
- 24. Comment «effacer» une table de base de données?
- 25. Une connexion de données Excel peut-elle verrouiller une table DB?
- 26. Jeux de données, relations de table parent/enfant et contrôles Gridview
- 27. Mise à jour d'une table à partir d'une table temporaire
- 28. Comment créer une table avec dynamique no. de colonnes pour la saisie de données
- 29. Oracle Remplir la table de sauvegarde de la table primaire
- 30. Affichage de totaux multiples dans une table à partir d'Oracle
Le lien Yaakov Ellis est maintenant cassé, il a été changé en [ceci] (http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/4929a0a8-0137-45f6-86e8-d11e220048c3/). –