set colonne de valeur par défaut du tableau de données lorsqu'ils sont déposés à mysqldataadapter

c'est mon code maintenant:

private static MySqlConnection conn = null;
private static MySqlDataAdapter AccountsDa = null;
private static MySqlCommandBuilder AccountsCb = null;
AccountsDa = new MySqlDataAdapter("SELECT * FROM accounts", conn);
AccountsCb = new MySqlCommandBuilder(AccountsDa);
Accounts = new DataTable();
AccountsDa.Fill(Accounts);

Je suis à essayer de comprendre comment définir la colonne des valeurs par défaut sans avoir à le faire à la main
si je fais comme ceci:

DataColumn col = new DataColumn();
col.ColumnName = "id";
col.AllowDBNull = false;
col.DataType = System.Type.GetType("System.Int32");
col.DefaultValue = 0;
Accounts.Columns.Add(col);

pour chaque colonne, il fonctionne très bien mais comment dois-je régler automatiquement les valeurs par défaut de la base de données lorsque le tableau est rempli. J'espère que je n'ai pas à définir de 30 colonnes à la main.

J'ai essayé le Accountsda.FillSchema(Comptes, SchemaType.Source);
qui fixe le autoriser les valeurs null et auto incrémente, mais pas les valeurs par défaut

le problème arrises lors de l'ajout d'une ligne à la table de données, plus tard, parfois, j'ai seulement besoin de définir la valeur d'une colonne et de laisser le reste des colonnes de recourir à leur valeur par défaut.

Je pourrais mettre en 180 lignes de code pour définir manuellement les valeurs par défaut pour l'insertion de lignes, mais il y a une manière de saisir qu'à partir de la base de données lors de la création de remplissage de la table de données

Je suis en mémoire à l'aide de tables de données, car il y a des moments où les données n'existent que pour l'exemple 2 minutes, puis supprimé à nouveau que c'est pour un serveur dédié pour un jeu rts en ligne. afin de réduire les coups sur la base de données, je suis à l'aide de tables de données et les manipulant et en les évacuant toutes les 10 minutes alors que je n'ai que 1 000 visites à la base de données toutes les 10 minutes au lieu de peut-être 40.000 visites

oui, mais tout dans le tableau a une valeur par défaut dans la base de données mysql lui-même, donc rien ne sera plus jamais retourner la valeur null. Je suis juste essayer de trouver un moyen plus simple que d'avoir à 180 lignes de code pour définir les 30 valeurs par défaut lors de l'ajout à la table
Je vois que vous êtes chargement de la table de données à partir de sql et vous l'avez dit, chaque colonne a une valeur, alors Pourquoi avez-vous besoin de définir la valeur par défaut? Ce que vous pouvez faire est d'utiliser MySQL Afficher les Colonnes pour obtenir la liste des colonnes et la valeur par défaut et boucle à travers elle et de définir la valeur par défaut
pour lors de l'ajout à la table de données. il y a des moments où j'ai tout simplement besoin de réglage 1 de la valeur et de laisser le reste à accepter leur valeur "par défaut", et maintenant, quand j'ai ajouter une ligne à elle, mais ne pas définir toutes les valeurs de la colonne puis-je obtenir une exception lorsque l'on travaille avec la table parce que certaines colonnes sont nulles
Je travaille avec un serveur dédié pour un web en ligne de jeu en utilisant les websockets et quand un joueur crée une première la ville tous les qui doit définir au premier abord est le nom de la ville toutes les autres valeurs doivent être leurs valeurs par défaut et il y a environ 30+, mais actuellement, comme je l'ai dit qu'elle les met à null au lieu de 0 ou 50 ou quel que soit le mysql valeur "par défaut" est
qui en tirant sur les données de la table plus tard, et de l'affecter à une classe, il déclenche une exception parce que par exemple usercity.la population est un int, mais les données de la table est nulle et il déclenche une exception lors du chargement des données

OriginalL'auteur BrierMay | 2013-03-23