왜.. 한번에 안되는 걸까..
어제는 되고 오늘은 안되는 이유..는 알다가도 모르겠다..
오류 ver1.
>> using System.Data.SqlClient; 사용시 SqlConnection 와 SqlCommand 부분에 밑줄이 생긴다.
근데 어제 콘솔프로젝트는 using System.Data.SqlClient; 가 잘 작동한다. 근데 WinForm은 안된다!! 왜???
>> 구글에 검색해 봤다 해당 어셈블리에 대한 참조를 추가하기 위해...
검색해서 최대한 비슷한걸 맞춰서 참조하였으나 안된다.. 잘못된 부분을 참조한걸까..ㅠ
using System;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Project13_Mini
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//여러메서드에 적용할 수 있도록 전역변수로 지정
string conStr;
SqlConnection conn;
SqlCommand cmd;
private void Form1_Load(object sender, EventArgs e)
{
//데이터베이스 연결
string connStr = "Server=localhost\\MSSQLSERVER01;Database=master;Trusted_Connection=True;";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
//커맨드 생성: 데이터베이스에 sql 문을 실행하거나, 실행된 결과를 돌려받는 통로
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
list_result.View = View.Details;
list_result.GridLines = true;
int listWidth = list_result.Width;
list_result.Columns.Add("아이디", (int)(listWidth * 0.2));
list_result.Columns.Add("이름", (int)(listWidth * 0.3));
list_result.Columns.Add("이메일", (int)(listWidth * 0.3));
list_result.Columns.Add("출생연도", (int)(listWidth * 0.2));
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
conn.Close();
MessageBox.Show("DB연결을 종료합니다");
}
private void btn_insert_Click(object sender, EventArgs e)
{
string data1, data2, data3, data4, sql;
data1 = tb_id.Text;
data2 = tb_name.Text;
data3 = tb_email.Text;
data4 = tb_birth.Text;
sql = "INSERT INTO userTable VALUES('" + data1 + "','" + data2 + "','" + data3 + "'," + data4 + ")";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
private void btn_update_Click(object sender, EventArgs e)
{
//수정추가예정
}
private void btn_delete_Click(object sender, EventArgs e)
{
//삭제 추가예정
}
private void btn_select_Click(object sender, EventArgs e)
{
string data1, data2, data3, data4;
cmd.CommandText = "SELECT * FROM userTable";
SqlDataReader reader = cmd.ExecuteReader();
list_result.Items.Clear();
ListViewItem item;
while (reader.Read())
{
data1 = reader.GetString(0); //아이디
data2 = reader.GetString(1); //이름
data3 = reader.GetString(2); //이메일
data4 = reader.GetInt32(3).ToString(); //출생연도
item = new ListViewItem(data1);
item.SubItems.Add(data2);
item.SubItems.Add(data3);
item.SubItems.Add(data4);
list_result.Items.Add(item);
}
reader.Close();
}
}
}
오류 ver2.
using Microsoft.Data.SqlClient;
위의 using 사용시 빨간줄은 사라졌다.. 근데 실행하면 이런 오류가 뜬다...검색해봐도 모르겠다ㅠㅠㅠㅠ
원하는 실행결과