VB.net + PostgreSQL + Npgsql DBConnect Update Delete Sample

更新または削除のサンプル

Imports Npgsql '忘れずに

     '接続文字列は適当に変更してください。
        Dim builder As New Npgsql.NpgsqlConnectionStringBuilder
        With builder
            .Host = "192.xxx.xxx.xxx"
            .Database = "dbname"
            .Username = "username"
            .Password = "password"
            .Port = 5432
            .Timeout = 20
        End With

        Dim command As NpgsqlCommand = New NpgsqlCommand("insert into tablename(name) values('memo')", conn)

        Dim retcnt = command.ExecuteNonQuery()
        MessageBox.Show("count = " + CStr(retcnt))

     'パラメータ
        '        command.CommandText = "INSERT INTO tablename (memo) VALUES (@p1)";
        '        command.Parameters.AddWithValue("p1", "Hello");

        '        Dim sResult As String = command.ExecuteScalar()

        MessageBox.Show("追加できました")
        conn.Close()

Continue Reading

VB.net + PostgreSQL + Npgsql DBConnect SELECT Sample

ネット上ではC#でのやり方が多かったのでVB.net版で載せます。

Imports Npgsql '忘れずに

     '接続文字列は適当に変更してください。
        Dim builder As New Npgsql.NpgsqlConnectionStringBuilder
        With builder
            .Host = "192.xxx.xxx.xxx"
            .Database = "dbname"
            .Username = "username"
            .Password = "password"
            .Port = 5432
            .Timeout = 20
        End With

        Dim conn As NpgsqlConnection = New NpgsqlConnection(builder.ConnectionString)
        conn.Open()

        Dim command As NpgsqlCommand = New NpgsqlCommand("select * from test", conn)
        Dim dr As NpgsqlDataReader
        dr = command.ExecuteReader()

        If dr.HasRows Then
            MessageBox.Show("hasrows is true")
        End If

        While (dr.Read())
            MessageBox.Show(dr(0))
        End While

        conn.Close()

Continue Reading

SQLServer stored procedure Sample

SQLServerのストアドプロシージャのサンプルを備忘録として残しておきます。

ALTER PROCEDURE [dbo].[TESTPROC] 

DECLARE @TARGETCOL VARCHAR(100) = 'testvalue'
	   ,@T_SQL		VARCHAR(200) = 'sql ='

BEGIN TRY
begin
	DECLARE @T_CODE VARCHAR(50)
	DECLARE T_CUR CURSOR FOR
		SELECT product_cd  FROM dbo.product
		WHERE product_name = @TARGETCOL

	OPEN T_CUR
	FETCH NEXT FROM T_CUR INTO @T_CODE 

	WHILE @@FETCH_STATUS = 0
		BEGIN
			SET @T_SQL = @T_SQL + @T_CODE
			FETCH NEXT FROM T_CUR INTO @T_CODE
		END

	CLOSE T_CUR
	DEALLOCATE T_CUR
end

	PRINT @T_SQL
END TRY

BEGIN CATCH
	SELECT ERROR_NUMBER() AS エラー番号
		  ,ERROR_SEVERITY() AS エラー重大度
		  ,ERROR_MESSAGE() AS エラーメッセージ
		  ,ERROR_LINE() AS エラー行
END CATCH
Continue Reading

苦手なDB周り – Oracle

ついに仕事でPL/SQLを扱うことになり、勉強中。
新しいことを覚えるのは楽しいけど、覚えるまでは苦痛と感じる日々

Deeplearningで本のデータを読み込ませて脳に学習させるようなことできないもんかね。

意外にCの思想の影響を受けて作られているようだ。
ストアドプログラムを使うとかなりの幅が広がるのは何となく知っていたが、かなりの効果がありそうだ。
早くマスターしなければ。。。。

Continue Reading