* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 64bit 등 | |
[cubrid_rel] 수행 결과 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
dataReader = cmd.ExecuteReader(); 이런식으로 데이터 리더에 담는 방법이 있나요,,,/?형변환이 안된다는데....
아니면 c# 으로 되있는 간단한 샘플소스 받을수 있을까요/.
안녕하세요.
CUBRID에서도 말씀하신 DataReader를 이용하여 데이터를 받아올 수 있습니다.
아래 첨부한 소스는 C#, ODBC를 이용한 소스 코드 입니다. 참고하시면 될 것 같습니다.
using System;
using System.Collections.Generic;using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Odbc;
namespace ODBC_Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String connStr = "driver={CUBRID Driver};server=localhost;port=33000;uid=dba;pwd=;db_name=demodb;";
OdbcConnection conn = new OdbcConnection(connStr);
try {
conn.Open();
} catch (Exception ex) {
MessageBox.Show("DB Connection Error : " + ex.Message);
conn = null;
}
if (conn != null) {
try {
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn;
cmd.Transaction = cmd.Connection.BeginTransaction();
// INSERT
cmd.CommandText = "insert into tmp(col1, col2) values(1, 'AAA'), (2, 'BBB'), (3, 'CCC') ";
cmd.ExecuteNonQuery();
cmd.Transaction.Commit();
//cmd.Transaction.Rollback();
// SELECT
cmd.CommandText = "select * from tmp";
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read()) {
int col1 = dr.GetInt32(0);
string col2 = dr.GetString(1);
MessageBox.Show("Res is " + col1 + ", " + col2);
}
} catch (Exception ex) {
MessageBox.Show("Query Excute Failed : " + ex.Message);
}
}
conn.Close();
}
}
}