간단한 작업 : Access 2010에 Byte []를 저장하는 방법은 무엇입니까? (하루 종일 웹 검색)Access 2010에 Byte [] 저장
가능한 한 다른 가능한 (varBinary, Image, ..) 필드가 없기 때문에 액세스 2010에서 "첨부 필드"를 사용해야합니다. .
내가 시도 :
Cmd.CommandText = "UPDATE Clubs SET Field1 = @File WHERE Name = @Name";
OleDbParameter para = new OleDbParameter("@File", OleDbType.VarBinary);
para.Value = ConvertImageToByte(Logo);
Cmd.ExecuteNonQuery();
예외 (ConvertImageToByte가 바이트 [] 반환) : ". 업데이 트를 또는 다중 값 필드를 포함 할 수 없습니다 쿼리를 삭제"
내가 시도 :DBEngine dbe = new DBEngine();
Database db = dbe.OpenDatabase("database.accdb", false, false, "");
String Command = "SELECT * FROM Clubs";
Recordset rs = db.OpenRecordset(Command, RecordsetTypeEnum.dbOpenDynaset, 0, LockTypeEnum.dbOptimistic);
rs.MoveFirst();
rs.Edit();
Recordset2 rs2 = (Recordset2)rs.Fields["Field1"].Value;
rs2.AddNew();
Field2 f2 = (Field2)rs2.Fields["FileData"];
f2.LoadFromFile("file.png");
rs2._30_Update();
rs2.Close();
rs._30_Update();
rs.Close();
이 작동하지만 파일이 tabel의 첫 번째 행의 모든 시간과 내가 올바른 행을 얻는 방법을 파악 할수 없어. SELECT 문에 WHERE 절을 추가하려고하면 "매개 변수가 너무 적습니다. 예상되는 값은 2입니다." 예외.
내 Byte [] (또는 이미지)를 데이터베이스에 추가하는 방법을 아는 분이라면 다시 알려주십시오.
http://www.mikesdotnetting.com/Article/123/Storing-Files-and-Images-in-Access-with-ASP.NET
http://www.sitepoint.com/forums/showthread.php?t=666928
0,123,977,131,292,388,362,165,252 :
줘하지는주십시오에 대한 링크
도움 주셔서 감사합니다.
실패를 그것을 문자열로 저장하십시오. 바이트를 16 진수로 구문 분석하고 저장 영역을 구분 한 다음 메소드에 전달하여 retreval을 사용하지 않을 수 있습니다. 그것은 매우 해킹되고, 부풀어 오른 해결책이 될 것이지만 작동 할 것입니다. 두 번째 생각에서 이것을하지 마십시오. =) –
감사합니다. JonH. 그러나 모든 정보가 포함 된 파일이 하나 뿐인 데는 몇 가지 이유가 있습니다. 하나는이 하나의 파일을 다른 사람들에게 보내야합니다. – Gpx
당신의 코멘트를 사랑하십시오 George! 그것에 대해 생각해 보았지만 말했듯이 그렇게하지 않을 것입니다. – Gpx