4
데이터베이스에 명령을 보내야합니다. 내가 영향을받는 테이블에있는 모든 필드의 이름과 데이터 형식을 알고, 나는 그것을 사용하여 명령을 생성해야합니다. 내 유일한 문제는 TSQL 따옴표가 필요한 데이터 형식의 열 값을 결정하는 것입니다 - 예를 들어, 필드를 문자열 varchar
형식 인 경우, 나는 그것을 인용해야 할 수도 있지만 그것은 int
, 5 경우 그것을 인용 할 필요는 없다.값을 따옴표로 묶어야하는 SQL 데이터 유형을 결정 하시겠습니까?
다음 코드와 같은 것을 사용할 수는 있지만 매우 비효율적 인 것처럼 보입니다. 누군가가이 일을 더 잘 수행 할 수있게 해줄 수 있습니까? SQL 서버 또는 C# 기능을 사용하여 가능합니까?
public string QuoteStringIfDatatypeRequires(string columnName)
{
if (DataTypes[columnName].Contains("date") || DataTypes[columnName].Contains("time") ||
DataTypes[columnName].Contains("char") || DataTypes[columnName].Contains("text") ||
DataTypes[columnName].Contains("binary") || DataTypes[columnName].Contains("image"))
{
return "'" + columnName + "'";
}
return columnName;
}
이것은 SQL 인시던트 사고가 발생하기를 기다리는 것일뿐입니다. ** [매개 변수가있는 쿼리] (http://blogs.msdn.com/b/sqlphp/archive/2008/09/30/how-and-why-to-use-parameterized-queries.aspx) 사용에 대해 생각해 보셨습니까? ** 대신? –
'columnName'을 나타내는 것은 무엇입니까? 표 또는 열의 이름에 삽입 할 값? 정말로 당신이하려는 일을 이해하지 못합니다. – Steve
매개 변수화 된 쿼리를 살펴본 결과 작동합니다. 나는 C#에 익숙하지 않아서 내가 무엇을 요구하고 있는지 정말로 알지 못했다. 타이머가 만료되면 그 대답을 받아 들일 것입니다. –