Visual Studio 2010 및 ASP.NET Web Forms를 사용하여 프로젝트를 만들었습니다. 여기에는 MySQL 테이블에 바인딩 된 GridView 컨트롤이 있습니다. 그것은 문제없이 컨트롤에 내 테이블을 표시하지만 컨트롤에 편집 기능을 사용하면 필드에 필드가있을 때 테이블의 필드를 업데이트하는 데 문제가 있다는 것을 알게되었습니다.MySQL이있는 ASP.NET GridView 컨트롤 - 매개 변수에 공백이 포함 된 UpdateQuery
는 예를 들어, 나는 다음 표는 정의 :
CREATE TABLE `test_table` (
`oid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`first_column` varchar(20) NOT NULL,
`second_column` varchar(20) NOT NULL,
`third column` varchar(20) NOT NULL,
PRIMARY KEY (`oid`)
)
주 분야 중 하나가 이름에 공백이 있습니다. 이것은 내가 문제가있는 곳입니다. UpdateCommand로서
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="oid" DataSourceID="SqlDataSource1">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:BoundField DataField="oid" HeaderText="oid" ReadOnly="True"
SortExpression="oid" />
<asp:BoundField DataField="first_column" HeaderText="first_column"
SortExpression="first_column" />
<asp:BoundField DataField="second_column" HeaderText="second_column"
SortExpression="second_column" />
<asp:BoundField DataField="third column" HeaderText="third column"
SortExpression="third column" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:testcon %>"
ProviderName="<%$ ConnectionStrings:testcon.ProviderName %>"
SelectCommand="select * from test_table" UpdateCommand="update `test_table` set
`first_column` = @first_column,
`second_column` = @second_column
where
`oid` = @oid"></asp:SqlDataSource>
, 내가 잘이 테이블에 FIRST_COLUMN 및 second_column를 업데이트 할 수 있어요 : 내 페이지에서 나는 다음과 같은 코드가 있습니다. 이제는 같은 방법으로 third column
을 업데이트하려고하지만 작동하지 않습니다. 나는이에 쿼리를 변경하는 경우 : 나는 또한 @third의 \ 열, @ {세 번째 열을} 시도했습니다
Parameter '@third' must be defined.
을, @ : 쿼리를 실행할 때
update `test_table` set
`first_column` = @first_column,
`second_column` = @second_column,
`third column` = @third column
where
`oid` = @oid
그것은 나에게이 오류를 줄 것이다 [세 번째 열], {@ 세 번째 열} - 분명히 이러한 작업이 없습니다. 따라서 내 질문은 : 내 업데이트 쿼리에 공간이있는 MySQL 필드를 업데이트하려면 무엇을 넣어야합니까?
'@ 세번째 열'에 공간이 있습니다. – codingbiz
@ tunmise fasipe에 감사드립니다. 그게 내 질문의 핵심이야. 나는 합법적으로 공간을 포함하고있는 같은 이름의 필드를 참조하려고합니다. – endoalir
다른 컬럼과 일치하도록 스키마를'third_column'으로 변경할 수 있습니다. 표준 변수에 공백이 없어야합니다. – codingbiz