Forum
Merhaba,
Excel'den datatable'a çekiyorum. Amacım çektiğim tipine ve kolon adına göre mssql tarafında create sorgusunu oluşturmak.
Datatable içinde gererek Colums type ve columnname lerini 2 tane listview'e aktarıyorum. Veriler dışarıdan geldiği için kaç kolondan ve hangi türden geleceğini bilmediğim için belirli bir tür ve isim veremiyorum.
Sorum şu,
createTable isimli stringi listview counta göre nasıl uzatabilirim.
for (int i = 0; i < tablo.Columns.Count; i++)
{
listView1.Items.Add(tablo.Columns[i].DataType.Name.ToString());
listView2.Items.Add(tablo.Columns[i].ColumnName.ToString());
//string createTable = "CREATE TABLE " + txtTableName.Text + "(id TINYINT IDENTITY(1,1) NOT NULL, yazar_adi NVARCHAR (20),yazar_soyadi NVARCHAR (20), kategori NVARCHAR (20) , PRIMARY KEY (id) );";
}
Bunun için oluşturduğunuz stringi manipüle etmeniz gerekir.
Örnek teşkil etmesi için aşağıdaki kodu inceleyin;
--------------------------------------------------------------------
List<string> sütunlar = new List<string>();
sütunlar.Add("Adı");
sütunlar.Add("Soyadı");
sütunlar.Add("Yaşı");
string sql = "select ";
foreach (var element in sütunlar)
{
sql += element;
if (sütunlar.IndexOf(element) + 1 != sütunlar.Count)
sql += ", ";
}
sql += " from tabloadı";
--------------------------------------------------------------------