SqlCeResultSet.Insert メソッド (SqlCeUpdatableRecord)
指定した SqlCeUpdatableRecord を基になる行セットに挿入します。
名前空間: System.Data.SqlServerCe
アセンブリ: System.Data.SqlServerCe (System.Data.SqlServerCe.dll)
構文
'宣言
Public Sub Insert ( _
record As SqlCeUpdatableRecord _
)
'使用
Dim instance As SqlCeResultSet
Dim record As SqlCeUpdatableRecord
instance.Insert(record)
public void Insert(
SqlCeUpdatableRecord record
)
public:
void Insert(
SqlCeUpdatableRecord^ record
)
member Insert :
record:SqlCeUpdatableRecord -> unit
public function Insert(
record : SqlCeUpdatableRecord
)
パラメーター
- record
型: System.Data.SqlServerCe.SqlCeUpdatableRecord
挿入するレコード。
説明
このレコードを挿入しても、SqlCeResultSet の現在位置は、変更されません。
この関数を呼び出すと、操作を完了するための追加呼び出しを指定しなくても、すぐに挿入が実行されます。
指定したレコードの列数が、基になる行セットで定義された列数よりも多い場合、例外がスローされます。指定した値が少ない場合、残りの列で null 値を許可するか、既定値を定義する必要があります。
この関数を更新できない SqlCeResultSet で呼び出した場合、またはリーダーが有効なレコードに位置していない場合、InvalidOperationException がスローされます。
使用例
Dim conn As SqlCeConnection = Nothing
Try
File.Delete("Test.sdf")
Dim engine As New SqlCeEngine("Data Source = Test.sdf")
engine.CreateDatabase()
conn = New SqlCeConnection("Data Source = Test.sdf")
conn.Open()
Dim cmd As SqlCeCommand = conn.CreateCommand()
cmd.CommandText = "CREATE TABLE myTable (col1 INT)"
cmd.ExecuteNonQuery()
cmd.CommandText = "SELECT * FROM myTable"
Dim rs As SqlCeResultSet = cmd.ExecuteResultSet(ResultSetOptions.Updatable Or ResultSetOptions.Scrollable)
Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()
' Insert 10 records
'
Dim i As Integer
For i = 0 To 9
rec.SetInt32(0, i)
rs.Insert(rec)
Next i
' Update the 5th record
'
If True = rs.ReadAbsolute(5) Then
rs.SetInt32(0, 55)
rs.Update()
End If
' Delete the 2nd record
'
If True = rs.ReadAbsolute(2) Then
rs.Delete()
End If
Catch e As Exception
MessageBox.Show(e.Message)
Finally
conn.Close()
End Try
SqlCeConnection conn = null;
try
{
File.Delete("Test.sdf");
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
engine.CreateDatabase();
conn = new SqlCeConnection("Data Source = Test.sdf");
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLE myTable (col1 INT)";
cmd.ExecuteNonQuery();
cmd.CommandText = "SELECT * FROM myTable";
SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable |
ResultSetOptions.Scrollable);
SqlCeUpdatableRecord rec = rs.CreateRecord();
// Insert 10 records
//
for (int i = 0; i < 10; i++)
{
rec.SetInt32(0, i);
rs.Insert(rec);
}
// Update the 5th record
//
if (true == rs.ReadAbsolute(5))
{
rs.SetInt32(0, 55);
rs.Update();
}
// Delete the 2nd record
//
if (true == rs.ReadAbsolute(2))
{
rs.Delete();
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
conn.Close();
}