c# - 如何将数据表值插入数据库
问题描述
我有一个表,其中填充了包含列的数据
Name Module1Marks Module2Marks Module3Marks
我必须将此数据插入到带有列的数据库表中
Name ModuleId Marks
在这里,通过检查列名,我必须将 ModuleId 连同标记和名称一起插入数据库
例如。如果列名是 Module1Marks,那么我将 ModuleId=1 和表的 Module1Marks 列中的值作为要插入数据库的标记
请帮助我 - 我该怎么做?
int ModuleId = 1;
foreach (DataRow row in dt.Rows)
{
for(int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].ColumnName == "OSC")
{
string marks = row[i].ToString();
NewInsertFunction(row[1].ToString(), row[2].ToString(), int.Parse(marks) , 1);
}
if (dt.Columns[i].ColumnName == "OOP")
{
string marks = row[i].ToString();
NewInsertFunction(row[0].ToString(), row[1].ToString(), int.Parse(marks), 2);
}
}
protected void NewInsertFunction(string PRN, string Name, int Marks, int ModuleId) {
int CourseID = Convert.ToInt32( DropDownListCourse.SelectedItem.Value);
Convert.ToInt32(Request.Form["DropDownListCourse"].ToString());
int startIndex = 4;
int endIndex = PRN.Length - 4;
int centreID = Convert.ToInt32(PRN.Substring(startIndex, endIndex)); }
解决方案
请看下面的代码。
private void ExtractData()
{
int moduleId;
int marks;
string name;
foreach (DataRow row in custTable.Rows)
{
name = row["Name"].ToString();
moduleId = 1;
marks = int.Parse(row["Module1Marks"].ToString());
NewInsertFunction(name, moduleId, marks);
moduleId = 2;
marks = int.Parse(row["Module2Marks"].ToString());
NewInsertFunction(name, moduleId, marks);
moduleId = 3;
marks = int.Parse(row["Module3Marks"].ToString());
NewInsertFunction(name, moduleId, marks);
}
}
private void NewInsertFunction(string Name, int ModuleId, int Marks)
{
// Provide the Insert logic
}
推荐阅读
- mysql - SQL 更新新添加的列中的多个值?
- android - 如何从列中检索值并将其应用于 SQLite for Android 中的下一行?
- javascript - Javascript Countdown Timer Based on User Input
- yocto - how to simplify recipe-sysroot-native
- dart - How to close Launcher web view in flutter/dart
- c - 可以用尾递归在C中制作一个加泰罗尼亚数字吗?
- pandas - 在 pandas 中,使用 str.split 删除数据时,如何跳过行?
- python - 为什么我在 pygame 混音器上听不到声音?
- protractor - 获取量角器测试中自定义状态更新的运行状态
- r - 如何使用逐步回归来删除 R 中逻辑回归中的特定系数?