c# - 如何在 C# 中将许多整数值更新回它们各自在数据库中的列
问题描述
我有从数据库加载信息的数据网格,当像这样选择每一行时,每一列都像这样显示在一个 textbox1 中;
private void dgvGrade_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataGrid dg = sender as DataGrid;
DataRowView dr = dg.SelectedItem as DataRowView;
if (dr != null)
{
if (dgvGrade.SelectedItems.Count > 0)
{
foreach (var obj in dgvGrade.SelectedItems)
{
txtids.Text += dr["IDNO"].ToString();
str += dr["ENGLISH"] + " " + dr["MATH"] + " " + dr["SOCIAL"] + " " + dr["SCIENCE"] + " " + dr["PRETECH"] + " " + dr["ICT"] + " " + dr["RME"] + " " + dr["HOMEECOMICS"] + " " + dr["HISTORY"] + " " + dr["OWOP"] + " " + dr["CREATIVEART"] + " " + dr["FRENCH"] + " " + dr["LANGUAGE"] + " " + " ";
}
}
else
{
//DO NOTHING
}
txtresults.Text = str;
}
在更改文本框1中的每个数字之后,我想将每个值保存回数据库的每一列,所以我尝试了这个;
SqlConnection Conn = new SqlConnection(shoolmanangmentconn);
DataTable dt = new DataTable();
Conn.Open();
SqlCommand cmd = new SqlCommand("UPDATE tbl_TestingTheApplicationSubject SET MATH=@MATH, ENGLISH=@ENGLISH, SOCIAL=@SOCIAL, SCIENCE=@SCIENCE, RME=@RME, PRETECH=@PRETECH, HOMEECOMICS=@HOMEECOMICS, HISTORY=@HISTORY, OWOP=@OWOP, ICT=@ICT, FRENCH=@FRENCH, CREATIVEART=@CREATIVEART, LANGUAGE=@LANGUAGE WHERE IDNO=@IDNO", Conn);
cmd.CommandType = CommandType.Text;
string[] arryval = txtresults.Text.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
int i = 0;
cmd.Parameters.Clear();
**cmd.Parameters.AddWithValue("@IDNO",txtids.Text)**; // TODO: use correct value of IDNO
cmd.Parameters.AddWithValue("@ENGLISH", arryval[i++]);
cmd.Parameters.AddWithValue("@MATH", arryval[i++]);
cmd.Parameters.AddWithValue("@SOCIAL", arryval[i++]);
cmd.Parameters.AddWithValue("@SCIENCE", arryval[i++]);
cmd.Parameters.AddWithValue("@PRETECH", arryval[i++]);
cmd.Parameters.AddWithValue("@ICT", arryval[i++]);
cmd.Parameters.AddWithValue("@RME", arryval[i++]);
cmd.Parameters.AddWithValue("@HOMEECOMICS", arryval[i++]);
cmd.Parameters.AddWithValue("@HISTORY", arryval[i++]);
cmd.Parameters.AddWithValue("@OWOP", arryval[i++]);
cmd.Parameters.AddWithValue("@CREATIVEART", arryval[i++]);
cmd.Parameters.AddWithValue("@FRENCH", arryval[i++]);
cmd.Parameters.AddWithValue("@LANGUAGE", arryval[i++]);
cmd.ExecuteNonQuery();
但我最终只在其 IDNO 列中保存了一行,但我也选择了许多 IDNO 列,但我不知道如何根据那里的 IDNO 编号将每一行保存回来,请有人帮助我(我正在使用 c# wpf)
解决方案
推荐阅读
- pdf - 使用 ghostscript 嵌入所有字体使 pdf 更小
- laravel - 在 Laravel 中上传 Excel 时出现命名公式问题
- laravel - 如何修复“ PHP 致命错误:未捕获的错误:找不到类 'Illuminate\Foundation\Application' ”?
- vba - 我无法为 vba 定义源数据
- mysql - Laravel 使用错误的主键更新 mysql
- java - 你能用这个创建一个数组形式的代码吗?
- python - 如何在使用 xpath 提取 Web 元素后验证其标签
- swift - 在 tableViewCell 中的 UIView 内放置渐变颜色
- sql-server - 内部加入选择语句以按日期查找下一条记录
- android - 现实世界中的安卓认证