質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

2797閲覧

Javaにて、C#で実装されている関数の代替

SystemRyota

総合スコア24

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2015/07/22 09:32

C#からJavaへマイグレーションを行っているのですが、
C#で実装されている関数をJavaで代替する方法が分からなく、
ご教授頂ければと思います。

よろしければ、すべてJavaに直した場合を見たいのですが、
SqlCommandだけでも教えていただけると助かります。
初歩的な質問ですみません。

  • DBAccess.cs

C#

1public DataTable getMstDevice(int logger_id, string data_type) 2 { 3 DataTable table = new DataTable(); 4 SqlConnection conn = new SqlConnection(); 5 SqlCommand command = new SqlCommand(); 6 7 try 8 { 9 // DEVICEを取得 10 conn.ConnectionString = Configs.ConnectionStringSensor3; 11 conn.Open(); 12 13 command.Connection = conn; 14 if (data_type == "logging") 15 { 16 command.CommandText = 17 ""; 18 } 19 else if (data_type == "counter") 20 { 21 command.CommandText = 22 ""; 23 } 24 command.Parameters.Add(new SqlParameter("logger_id", SqlDbType.Int)); 25 command.Parameters["logger_id"].Value = logger_id; 26 27 SqlDataAdapter ad = new SqlDataAdapter(command); 28 ad.Fill(table); 29 30 conn.Close(); 31 } 32 catch (Exception ex) 33 { 34 _ilog.Error("iService", ex); 35 } 36 finally 37 { 38 if (conn.State == ConnectionState.Open) 39 { 40 conn.Close(); 41 } 42 } 43 return table; 44 }
  • Config.cs

C#

1public static string ConnectionStringSensor3 2 { 3 get 4 { 5 if (_connectionStringSensor3 == null) 6 { 7 _connectionStringSensor3 = ConfigurationSettings.AppSettings["ConnectionStringSensor3"].ToString(); 8 } 9 10 return _connectionStringSensor3; 11 } 12 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

JavaではデータベースにSQLでアクセスする場合はJDBCという仕組みを使います。

データベースシステムに対応するJDBCドライバーとURLが必要です。

標準機能だけで書くとこんな感じになります。
単純な置き換えは難しいと思います。

lang

1// Java7以降バージョン 2 3// import java.sql.*; 4 5String url = ... ; // JDBCのURL 6String user = ... ; 7String password = ... ; 8try (Connection conn = DriverManager.getConnection(url, user, password)) { 9 String sql = "select * from table1 where logger_id=?"; 10 try (PreparedStatement stmt = conn.prepareStatement(sql)) { 11 stmt.setInt(1, loggerId); 12 try (ResultSet rs = stmt.executeQuery()) { 13 while (rs.next()) { // 次の行 14 String col1 = rs.getString(1); 15 // 結果は自分で取得 16 } 17 } 18 } 19} catch (SQLException e) { 20 // ログに出力は省略 21 e.printStackTrace(); 22}

投稿2015/07/24 22:36

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SystemRyota

2015/07/27 03:43

返事が遅れて申し訳ございません。 回答ありがとうございます。 自分が書いてみたコードとほぼ同じで安心しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問