C# 我想在C中将所选行中的两个变量作为数组传递
我是C语言的新手。我有一个包含两列的表,我希望将每个选定行作为SQL查询的数组变量返回 我不知道如何在C中完成它。 我编辑了为传递一列数据而编写的代码。任何帮助都将不胜感激C# 我想在C中将所选行中的两个变量作为数组传递,c#,C#,我是C语言的新手。我有一个包含两列的表,我希望将每个选定行作为SQL查询的数组变量返回 我不知道如何在C中完成它。 我编辑了为传递一列数据而编写的代码。任何帮助都将不胜感激 private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (SelectionCompleteCheckBox.Checked == true) { List<string> studyIDs =
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (SelectionCompleteCheckBox.Checked == true)
{
List<string> studyIDs = new List<string>();
List<string> ASSAYDESCRIPTIONs = new List<string>();
foreach (DataGridViewRow row in AssayData.SelectedRows)
{
try
{
studyIDs.Add(row.Cells["STUDYID"].Value.ToString());
ASSAYDESCRIPTIONs.Add(row.Cells["ASSAYDESCRIPTION"].Value.ToString());
}
catch (Exception ee)
{
//Do something?
}
if (studyIDs.Count > 0)
{
controller.GetResult(studyIDs, ASSAYDESCRIPTIONs);
}
}
}
}
public void GetResult(Array{studyIDs,ASSAYDESCRIPTIONs})
{
EventArg<DataTable> e;
e = new EventArg<DataTable>(database.GetResults(studyIDs, ASSAYDESCRIPTIONs));
if (SelectedDataUpdate != null)
{
SelectedDataUpdate.Invoke(this, e);
}
}
最好创建一个类,使其更容易理解 例如:
public class TestResult
{
public string StudyID {get;set;}
public string AssayDescription {get;set;}
}
现在,当您获得数据时,您可以构建一个测试结果列表
注意:我不确定这个方法是如何工作的,但可能有一种方法
也许你最好解释一下你想用这些数据做什么,因为这些代码看起来完全不清楚,不可编译。你想返回一个数组,字符串数组吗?物体?您知道如何从SelectedRows创建列表,只需调用List.toArrayAs@Steve就可以将任何列表转换为数组。我正在尝试将这两个变量传递到一起,以对原因进行SQL查询。所以,为了检索和更新表,必须同时读取这两个变量。我如何调用每个变量的位置?我还没有看到你的database.getResultsStudyId,所以我不确定你需要做什么类型的更改。我的示例中的列表包含这些信息。您可以循环使用这些值并进行更新。
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (SelectionCompleteCheckBox.Checked == true)
{
List<TestResult> results = new List<TestResult>();
foreach (DataGridViewRow row in AssayData.SelectedRows)
{
try
{
var temp = new TestResult();
temp.StudyID = row.Cells["STUDYID"].Value.ToString()
temp.AssyDescription = row.Cells["ASSAYDESCRIPTION"].Value.ToString()
results.Add(temp);
}
catch (Exception ee)
{
//Do something?
}
}
if (results.Count > 0)
{
controller.GetResult(results);
}
}
public void GetResult(List<TestResult> results)
{
foreach(var test in results)
{
//update result data table.
}
}