ado2.7 에서 update 하려면 어떻게 하죠 ?

Together의 이미지

안녕 하세요.

ado.net 에서 DataReader 를 사용하면
forward-only 이어서 MoveNext, MovePrev 이런 식으로
사용하려면 DataBase File 에 있는 Data를 모두 한번에

DataSet 으로 읽어 들여야 할것같고 그렇게 하면 플그램 시작할때
마다 너무 많은 데이타를 읽어 들여야 할것같아서 연결지향 Api로
플밍 하려는 데요, ADO.NET 에는 연결 지향적
api는 없는것 같아서 csharp 언어로 ado2.7 을
이용 하려는합니다. 아래 코드로 실행하면 connection 은
되는데 업데이트가 안되면서 아래와 같은 에러가 납니다

===
처리되지 않은 'System.Runtime.InteropServices.COMException'
형식의 예외가 Test.exe에서 발생했습니다.
추가 정보: 요청한 이름 또는 서수에 해당하는 컬렉션에서 항목을 찾을 수 없습니다.
===

제가 어디서 잘못해서 이런 에러가 나는걸가요?
지적 해주시면 감사 하겠습니다.
msdn 에서도 ado2.7 용 csharp 예제는 찾을수가 없네요.

좋은 하루 되세요^^

string str = "Provider=Microsoft.JET.OLEDB.4.0;" + 
     @"data source = test.mdb"; 

ADODB.Connection conn = new ADODB.ConnectionClass(); 
conn.Open(str, null, null,0); 

ADODB.Recordset rec = new ADODB.RecordsetClass(); 
rec.Open("Table", conn, ADODB.CursorTypeEnum.adOpenDynamic, 
     ADODB.LockTypeEnum.adLockOptimistic, 
     (int)ADODB.CommandTypeEnum.adCmdTable); 

rec.AddNew(null,null); 
rec.Fields["ID"].Value = 1; 
rec.Fields["Name"].Value = "test"; 

rec.Update(null,null); 

rec.Close(); 
conn.Close(); 
Together의 이미지

해결 했슴다 ^^





rec.AddNew(null,null);
rec.Fields["ID"].Value = 1;
rec.Fields["Name"].Value = "test";
rec.Update(null,null);

위의 코드에서
null 부분을 Type.Missing 로 아래 처럼 바꿔 주니
실해이 잘 되내요.

Type.Missing 이 다른 언어의
default parameter 에 해당하는거
같네요.

rec.AddNew(Type.Missingl,Type.Missing);
rec.Fields["ID"].Value = 1;
rec.Fields["Name"].Value = "test";
rec.Update(Type.Missingl,Type.Missing);

즐거은 하루 되세요 ^^

- 험한 세계에서 자주국방 없는 경제력은 경비없는 은행이다. -

choissi의 이미지

레코드 셋에서 제공하는 기능들을 구현하기 위해서는
많은 오버헤드가 발생합니다.
특히나 커서란 것을 선언하게 되는데
이것은 리소스를 많이 사용하게 되죠.
(static, keyset, dynaset, forward only등의 커서 타입들이
존재하는 각각의 차이를 이해하고 내 작업에 많는 녀석을
사용하는 요령아 필요합니다. )

..

정말 성능을 생각 하신다면 쿼리로 update문을 작성해서
실행하는 것이 현명하다고 생각합니다.

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.