2016-01-03 3 views
2

J'ai une application qui consiste en un DataGridView et quelques boutons pour le gérer plus facilement (il s'agit de gérer les abonnements de gym). J'ajoute la ligne à DataGridView comme ceci.TableAdapter.Update (DataSet) fait apparaître des lettres cyrilliques comme des points d'interrogation dans dgv

DataTable dataTable = ((SubscriptionsDatabaseDataSet)(tableBindingSource.DataSource)).Tables[0]; 
dataTable.Rows.Add(new object[] {id, name, dateMade, expiryDate, daysRemaining, sessionsRemaining, cardType}); 

et après, afin d'enregistrer les données dans la base de données que je fais ceci:

this.tableTableAdapter.Update(this.subscriptionsDatabaseDataSet); 
this.tableTableAdapter.Update(this.subscriptionsDatabaseDataSet.Table); 

Le type de carte est en cyrillique et il semble très bien si je ne l'appelle pas tableTableAdapter.Update(), il se casse seulement et apparaît comme des points d'interrogation après que j'appelle la méthode.

+1

Quel est le type de données de la colonne dans la base de données? –

+0

VARCHAR (MAX). J'ai aussi essayé du texte mais c'était toujours pareil. –

+0

Changez le type en 'NVARCHAR (MAX)' –

Répondre

2

Q: Quel est le type de données de la colonne dans la base de données?
A: VARCHAR (MAX).

Vous devez remplacer le type de la colonne par NVARCHAR(MAX) pour prendre en charge les données Unicode de longueur variable.