2013-07-25 2 views
1

테이블에서 특정 주문을 선택하기 위해 이전 페이지에서 주문 ID를 가져오고 있습니다. 또한 해당 테이블에서 CustomerID를 가져와 해당 ID가있는 항목을 반환하도록 고객 테이블을 쿼리해야합니다.두 개의 서로 다른 테이블에서 webmatrix의 동적 SQL 쿼리

@{ 
var id=Request["id"]; 
var SQLSELECT3 = "SELECT * FROM Ordr WHERE [email protected]"; 
var db = Database.Open("OMD"); 
var ordr = db.QuerySingle(SQLSELECT3,id); 
var oCustomerID=ordr.CustomerID; 
var oStatus=ordr.Status; 
var oID=ordr.ID; 
var oDate=ordr.Date; 
var oService=ordr.Service; 
var oNotes=ordr.Notes; 

var SQLSELECT = "SELECT * FROM Customer WHERE ID = @oCustomerID"; 
var customer = db.QuerySingle(SQLSELECT,id); 
var cLastName=customer.LastName; 
var cFirstName=customer.FirstName; 
var cAddress=customer.Address; 
var cCity=customer.City; 
var cState=customer.State; 
var cZip=customer.Zip; 
var cPhone1=customer.Phone1; 
var cPhone2=customer.Phone2; 
var cEmail=customer.Email; 
} 

답변

1
는 문제와 함께 할

var SQLSELECT = "SELECT * FROM Customer WHERE ID = @0"; 
var customer = db.QuerySingle(SQLSELECT, (int)ordr.CustomerID); 

아무것도에 조회를 변경

하지만 변수의 또 다른 세트에 쿼리에서 당신이 얻을 모든 값을 전송하는 이유를 이해하지 않습니다. 제 의견으로는 불필요한 타이핑이 엄청납니다.

+0

문자열을 INT로 변환 할 수 없다는 점을 제외하고는 효과가 있었으므로 그 부분을 삭제하면 효과적입니다. 정말 고맙습니다. 나는 충분한 명성이 없기 때문에 투표를하지 않을 것이다. :( – James

관련 문제