お世話になります。C#とSQL serverの学習をしています。
C#のフォームアプリケーションから、ボタンを押したら
SQL serverへ接続し、デスクトップに保存してある
CSVファイルの中身を作成済みのテーブルに登録したいと考えています。
現在、実現したいこととして、
CSVファイルのファイルパスを指定し、データを読み込み、
その対象のデータをINSERT文でSQL serverへ登録したいのですが、
そのやり方が分からず困っています。
下記に途中段階のコードを記載します。
このコードを実行すると、「ユーザーはログインできませんでした。」
というエラーメッセージが出ます。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using System.Data.Sql; using System.IO; namespace DB_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //---------------------------------------------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(); conn.ConnectionString = @"Data Source=DESKTOP-U6R2QM8\SQLEXPRESS;Initial Catalog=マスタ機能;"; try { conn.Open(); SqlCommand command = conn.CreateCommand(); SqlTransaction transaction = conn.BeginTransaction(); command.Connection = conn; command.Transaction = transaction; try { StreamReader sr = new StreamReader(@"C:\Users\yuhor\OneDrive\デスクトップ\拠点.csv"); sr.ReadLine(); while (sr.Peek() > -1) { string line = sr.ReadLine(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "Insert into 拠点 (コード, 拠点)"; command.ExecuteNonQuery(); } transaction.Commit(); sr.Close(); } catch { transaction.Rollback(); } } catch(Exception ex) { MessageBox.Show(ex.Message, "データベース接続エラー", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { conn.Close(); } } } }
いくつかのサイトを真似して記述しました。
めちゃくちゃな記述になっているかもしれません。申し訳ございません。
CSVファイルの中身↓
1,東京,
2,大阪,
SQL server上で作成したテーブル↓
コード | 拠点 | |
---|---|---|
※Visual Basic 2015
SQL serverは最新のものを使用しています。
至らない点も多いかと思いますが、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー