我沒有看到問題,但如果您問是否可以改進您的方法,是的。
我會簡單地使用具有這些屬性的類(包含性別)。
class Person
{
public bool IsFemale { get; set; }
public string Name { get; set; }
}
現在你可以創建一個單一收集,例如List<Person>
和環路。
var persons = new List<Person>() {
new Person{IsFemale=false, Name="john"},new Person{IsFemale=false, Name="james"},
new Person{IsFemale=true, Name="stacy"},new Person{IsFemale=true, Name="paula"}
};
foreach(Person p in persons)
{
//call to stored procedure there
//parameters
//execute
}
編輯:如果您有與ADO.NET部分的問題,這裏有一個例子:
using (var con = new SqlConnection(connectionString))
using (var cmd = new SqlCommand("StoredProcedureName", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Gender", typeof(string));
cmd.Parameters.Add("@Name", typeof(string));
con.Open();
foreach (var person in persons)
{
cmd.Parameters["@Gender"].Value = person.IsFemale ? "female" : "male";
cmd.Parameters["@Name"].Value = person.Name;
cmd.ExecuteNonQuery();
}
}
如何做_what_有所不同?你想解決什麼問題? – Oded
什麼問題?什麼數據庫? – PeteH
我會說這是一種與數據庫交互的非常低效的方式。最好創建一個查詢並將其發送到數據庫,或者建立一組參數並將它們發送到數據庫。 [SQL Server數組和列表](http://www.sommarskog.se/arrays-in-sql.html)是一個很好的閱讀,即使您不在SQL Server上。 – Oded