datagridview c# access. Меняю строку меняется весь столбец. Например меняю сумму "Пользователь 1" от суммы 100 на 200. И вся таблица меняется.
private void LoadBet() {
var sql = @"select bId,cId,ksid,ksView,cName,bDate,bSum,bCoef,bView
from Client,Bet,KindSport where bKindSportid=ksid and bClientid=cid";
var da = new OleDbDataAdapter(sql, Db.Connection);
var ds = new DataTable();
da.Fill(ds);
dgvBet.DataSource = ds;
// dgvBet.DataMember = ds.Tables[0].TableName;
dgvBet.Columns["bid"].Visible = false;
dgvBet.Columns["cid"].Visible = false;
dgvBet.Columns["ksid"].Visible = false;
dgvBet.Columns["cName"].HeaderText = @"ФИО";
dgvBet.Columns["cName"].Width = 150;
dgvBet.Columns["bDate"].HeaderText = @"Дата";
dgvBet.Columns["bDate"].Width = 150;
dgvBet.Columns["ksView"].HeaderText = @"Вид спорта";
dgvBet.Columns["ksView"].Width = 150;
dgvBet.Columns["bSum"].HeaderText = @"Сумма";
dgvBet.Columns["bSum"].Width = 150;
dgvBet.Columns["bCoef"].HeaderText = @"Коэффициент";
dgvBet.Columns["bCoef"].Width = 150;
dgvBet.Columns["bView"].HeaderText = @"Вид ставки";
dgvBet.Columns["bView"].Width = 150;
}
//Добавить ставки
private void BetAdd_Click(object sender, EventArgs e)
{
// создаем форму редактирования
var f = new FmBet();
// показывать диалог с редактированием
if (f.ShowDialog() == DialogResult.OK)
{
var cmd = new OleDbCommand(@"insert into Bet(bClientid,bDate,
bKindSportId,bSum,bCoef,bView) values (?,?,?,?,?,?)")
{
Connection = Db.Connection,
CommandType = CommandType.Text
};
cmd.Parameters.AddWithValue(@"bClientid", f.Bet.bClientId);
cmd.Parameters.AddWithValue(@"bDate", f.Bet.bDate);
cmd.Parameters.AddWithValue(@"bKindSportId", f.Bet.bKindSportId);
cmd.Parameters.AddWithValue(@"bSum", f.Bet.bSumm);
cmd.Parameters.AddWithValue(@"bCoef", f.Bet.bCoef);
cmd.Parameters.AddWithValue(@"bView", f.Bet.bView);
cmd.ExecuteNonQuery();
LoadBet();
}
}
//Изменить ставки
private void BetEdit_Click(object sender, EventArgs e)
{
if (dgvBet.CurrentCell == null) return;
var i = dgvBet.CurrentCell.RowIndex;
var f = new FmBet();
f.Bet.bId = (int)dgvBet.Rows[i].Cells["bid"].Value;
f.Bet.bClientId = (int)dgvBet.Rows[i].Cells["cid"].Value;
f.Bet.bDate = Convert.ToDateTime(dgvBet.Rows[i].Cells["bDate"].Value);
f.Bet.bSumm = Convert.ToDouble(dgvBet.Rows[i].Cells["bSum"].Value);
f.Bet.bKindSportId = (int)dgvBet.Rows[i].Cells["ksId"].Value;
f.Bet.bCoef = Convert.ToDouble(dgvBet.Rows[i].Cells["bCoef"].Value);
f.Bet.bView = Convert.ToString(dgvBet.Rows[i].Cells["bView"].Value);
if (f.ShowDialog() == DialogResult.OK)
{
var cmd = new OleDbCommand(@"update Bet set bClientid=?,bDate=?,
bKindSportId=?, bSum=?,bCoef=?,bView=?")
{
Connection = Db.Connection,
CommandType = CommandType.Text
};
cmd.Parameters.AddWithValue(@"bClientId", f.Bet.bClientId);
cmd.Parameters.AddWithValue(@"bDate", f.Bet.bDate);
cmd.Parameters.AddWithValue(@"bKindSportId", f.Bet.bKindSportId);
cmd.Parameters.AddWithValue(@"bSum", f.Bet.bSumm);
cmd.Parameters.AddWithValue(@"bCoef", f.Bet.bCoef);
cmd.Parameters.AddWithValue(@"bView", f.Bet.bView);
cmd.Parameters.AddWithValue(@"bId", f.Bet.bId);
cmd.ExecuteNonQuery();
LoadBet();
}
}
//Удалить ставки
private void BetDelete_Click(object sender, EventArgs e)
{
if (dgvBet.CurrentCell == null) return;
if (MessageBox.Show(@"Удалить?", @"Удалить", MessageBoxButtons.YesNo) != DialogResult.Yes) return;
var i = dgvBet.CurrentCell.RowIndex;
var id = dgvBet.Rows[i].Cells["bId"].Value;
var cmd = new OleDbCommand(@"delete from Bet where bId=?")
{
Connection = Db.Connection,
CommandType = CommandType.Text
};
cmd.Parameters.AddWithValue(@"bId", id);
cmd.ExecuteNonQuery();
LoadBet();
}
У Вас в запросе отсутствует предложение WHERE.В таких случаях обновляется вся таблица.
Попробуйте так:
var cmd = new OleDbCommand(@"update Bet set bClientid=?,bDate=?,bKindSportId=?, bSum=?,bCoef=?,bView=? WHERE bId=?");
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При попытке заполнить список "List<Signal>" данными типа String из Csv файла возникает ошибка: "Не удается преобразовать String в DataGatherSignal", можно ли как-то...
Network Transform и Network Identity на префабе bullet естьНо у каждого игрока спавнятся свои префабы, которые не отображаются на экране соперника
подскажите где можно найти шаблон или пример для MVC5 и ASPNET (в лучшем случае) который позволял бы реализовать каталогизацию блоков информации...