SQLテーブルの単一の行の特定の列にテキストボックスの値を挿入するLINQは大したことではありませんが、たとえば、5つのテキストボックスがある場合、SQLテーブルに5つの新しい行を作成する必要があります。以下は私が単一行の異なる列にテキストボックスを挿入する方法である:複数のテキストボックスをLINQを使用して別の行にSQLテーブルに挿入
Table Name: tblModulRelayConfig
index fltCe fltUT1 fltUT2 fltUT3 fltUT4 fltUT5 fltUT6
1 75 Text1 Text2 Text3 Text4 Text5 Text6
2 76 Text1 Text2 Text3 Text4 Text5 Text6
using (myDataContext mydc= new myDataContext())
{
tblModulRelayConfig tblModuler = (from CE in mydc.tblCEs
where CE.fltCE == 75
select CE).FirstOrDefault();
if(tblModuler != null)//in order to update table
{
nyModul.fltUT1 = TextBox1.Text;
nyModul.fltUT2 = TextBox2.Text;
nyModul.fltUT3 = TextBox3.Text;
nyModul.fltUT4 = TextBox4.Text;
nyModul.fltUT5 = TextBox5.Text;
nyModul.fltUT6 = TextBox6.Text;
}
else // if it does no exist already
{
tblModulRelayConfig nyModul = new tblModulRelayConfig();
nyModul.fltUT1 = TextBox1.Text;
nyModul.fltUT2 = TextBox2.Text;
nyModul.fltUT3 = TextBox3.Text;
nyModul.fltUT4 = TextBox4.Text;
nyModul.fltUT5 = TextBox5.Text;
nyModul.fltUT6 = TextBox6.Text;
mydc.tblModulRelayConfigs.InsertOnSubmit(nyModul);
mydc.SubmitChanges();
}
}
しかし、どのように従うように、テーブルを作成するには、私が代わりに単一行のテキストボクセ値を挿入する、私はそれぞれのデータを挿入する意味シングルボタンのクリックで新しい行のテキスト・ボクセ:
tblModulRelayConfig
index fltCe fltUTNr fltUT
1 75 1 Text1
2 75 2 Text2
3 75 3 Text3
4 75 4 Text4
5 75 5 Text5
6 75 6 Text6
私は、次のコードを試みたが、ループの中断せずにそれが唯一のテーブルに最後textboxeデータを追加し、ブレークして、それが唯一の最初のtextboxe値を追加します。私が使用しよう のコードは、リンクの下からです: Show Linq-to-SQL table rows in separate text boxes
var textbox = GetAll(this, typeof(TextBox));
tblModulRelayConfig nyKanal = new tblModulRelayConfig();
foreach (Control c in textbox)
{
textNr++;
if (c is TextBox)
{
var tx = ((TextBox)c);
nyKanal.fltUTNr = textNr;
nyKanal.fltUT=tx.Text;
sls.tblModulRelayConfig .InsertOnSubmit(nyKanal);
sls.SubmitChanges();
break;
}
}