DefaultValueメソッドは奇妙な名前が付けられていますが、実際には正常に動作します。ほとんどの場合、別の場所に問題がある可能性があります。
また、コントロールをコードの背後から変更したいとしました。 DefaultValue
を使用せずに直接値を入力することはできません。その特定のプロパティを避けるには、オブジェクトを作成して記入する必要があります。
あなたは、ある種類のKey-Valueペアを使用して挿入を設定できるかどうかを尋ねました。あなたがこれを行うことが一つの方法は、これは半疑似コードである
MyArray myArray = new MyArray();
myArray.add("FirstName", "John");
myArray.add("LastName", "Smith");
myArray.add("Address", "1234 Main St");
myArray.add("Phone", "123-456-786");
SqlDataSource sqlNames = New SqlDataSource(/* Conn */);
sqlNames.InsertCommand = "INSERT INTO [names] ([FirstName],[LastName],[Address],[Phone]) VALUES(@Fname, @Lname, @Address, @Phone)";
foreach (MyObject o in myArray) {
// Assuming an array of MyObject which has two members
sqlNames.InsertParameters.Add("@" + o.DBColumnName, o.Value);
}
sqlNames.Insert();
の線に沿って何かですが、それはあなたが欲しいものを行うには一般的な考えです。ハッシュテーブル、カスタムオブジェクト配列などを使用してください。
お気軽にお問い合わせください。
データベースのCRUD操作を行う「正しい方法」は、MSが単純にドラッグアンドドロップしてビットを構成するために用意したこの恐ろしいSqlDataSourceコンポーネントを回避することです。正しい方法は、適切に定義されたストアドプロシージャ、パラメータ化されたプロシージャを定義し、コードの背後から何をいつ実行するか、またはDALクラスライブラリのアドホックから呼び出すことです。 –