#1 16.03.07 23:46
Базы данных MySql под .NET
Чтение из БД сделал, осталось добавление, обновление и удаление данных в чем собственно состоит проблема!
Вот код, который реализует добавление данных в БД, но содержит ошибку:
Код: csharp:
public static void WriteString(string whatToWrite, string whatToWrite2, string whatToWrite3) { string connectionString = "datasource=localhost;username=root;password=mc;database=Customer"; using (MySqlConnection connection = new MySqlConnection(connectionString)) { string commandText = "insert into duel (id,nm,tel) values (@a,@b,@c)"; using (MySqlCommand command = new MySqlCommand(commandText, connection)) { connection.Open(); command.CommandType = CommandType.Text; command.Parameters.Add("@a", whatToWrite); command.Parameters.Add("@b", whatToWrite2); command.Parameters.Add("@c", whatToWrite3); command.ExecuteNonQuery(); } } } private void button1_Click(object sender, EventArgs e) { WriteString(textBox1.Text, textBox2.Text, textBox2.Text); }
Таблица
di(int) nm(char) tel(int)
1 dfgdfg 8923
2 dfgfg 8922
после выполнения кода выдает:
Таблица
di nm tel
1 ifd 8923
2 dfgfg 8922
3
4
5
.
.
.
и так далее увеличивает только ключ, если просто попробывать добавить только 2 или 3 колонку, все равно добавляет в ключ...
Может ктонить видит ошибку или может предложить другой вариант?
Offline
#5 17.03.07 17:20
Re: Базы данных MySql под .NET
все заработало, тока с кодировкой проблема, вместо руского шрифта в БД только "?????" , в MySQL у тип CHAR на ASCII и на UNICOD менял, не помогло.
Offline
#8 08.04.07 20:45
Re: Базы данных MySql под .NET
После выполения кода listbox1 остается пустым, хотя заполняется в самой функции. DataReader заполняется(returnString = ClientNAme возвращает последнюю сторку из DataReader). Как возвратить тогда все данные из DataReader? Или как то можно подругому ?
Код: csharp:
public static string addcombobox() { string returnString=""; string connectionString = "datasource=localhost;username=root;password=mc;database=Customer"; using (MySqlConnection connection = new MySqlConnection(connectionString)) { string commandText = "Select ClientName from clients"; MySqlCommand command = new MySqlCommand(commandText, connection); connection.Open(); using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { string ClientNAme = reader.GetString(0); returnString = ClientNAme; ListBox listBox1 = new ListBox(); listBox1.Items.Add(ClientNAme); } reader.Close(); } } return returnString; } private void button4_Click(object sender, EventArgs e) { textBox2.Text= addcombobox(); listBox1.Refresh(); }
Исправлено Gee.eM.Cee (08.04.07 20:47)
Offline
#9 09.04.07 01:16
Re: Базы данных MySql под .NET
Код::
while (reader.Read())
{
string ClientNAme = reader.GetString(0);
returnString = ClientNAme;
ListBox listBox1 = new ListBox();
listBox1.Items.Add(ClientNAme);
}Я так понимаю, что при каждом чтении ридера создается новый листбокс и в него добавляется один элемент.
Что бы листбокс заполнился всеми элементами
надо сделать так
Код::
ListBox listBox1 = new ListBox();
while (reader.Read())
{
string ClientNAme = reader.GetString(0);
returnString = ClientNAme;
listBox1.Items.Add(ClientNAme);
}или так
Код::
connection.Open();
using (SqlDataAdapter da = new SqlDataAdapter(returnMessages))
{
DataSet ds = new DataSet();
da.Fill(ds);
ListBox1.DataSource = ds;
ListBox1.DataTextField = "ClientName";
ListBox1.DataBind();
sqlConnection.Close();
}Исправлено rzk (09.04.07 01:18)
Offline
#10 09.04.07 18:23
Re: Базы данных MySql под .NET
все заработало после того как я передал компонент listBox1 в addcombobox...
Исправлено Gee.eM.Cee (09.04.07 21:13)
Offline

