![](/img/trans.png)
[英]Create new column in the table by accepting datepicker value as column name
[英]my sql table column accepting “0” as value
我有兩個表,一個是成員表,成員列,成員名,成員名,成員姓氏。 我還有另一個表訪客通行證,其中包含訪客通行證ID和成員ID以及簽發日期列。
我有一個列表視圖,該視圖將顯示訪客通行證詳細信息(例如,會員名稱和發布日期),並且我有兩個文本框用於輸入會員名稱和發布日期。
成員名稱文本框是可以正常工作的自動完成文本框。
但是問題是,當我此時輸入不在成員表中的名稱時,它將接受並在成員名稱列的列表視圖中顯示空白字段,並且成員ID在訪客通行證表中存儲為“ 0” ... ...
我不想將成員名稱顯示為空,也不想在訪客通過表中存儲“ 0”
這是插入語句
sql2 = @"INSERT INTO guestpasses(member_Id,guestPass_IssueDate)";
sql2 += " VALUES(";
sql2 += "'" + tbCGuestPassesMemberId.Text + "'";
sql2 += ",'" + tbIssueDate.Text + "'";
guestpassmemberId =會員編號
是否需要進行任何驗證
這是自動完成文本框語句
sql = @"SELECT member_Id FROM members WHERE concat(member_Firstname,'',member_Lastname) ='" + tbMemberName.Text+"'";
dt = GetData(sql, mf);
if (dt != null)
{
if (dt.Rows.Count > 0)
{
tbCGuestPassesMemberId.Text = Convert.ToInt32(dt.Rows[0] ["member_Id"]).ToString();
}
}
任何人都可以幫我這個忙嗎...是否有任何類型的SQL查詢驗證
請幫助我 .....
您可以先驗證值,然后再將其傳遞給INSERT。 另外,您還可以設置約束來驗證SQL中的正則表達式。
要在插入之前進行驗證,您應該具有以下內容:
private void validateData(Long memberId) {
//Pseudo code Depends on how you are connecting to your database...
SQLQuery query = getQuery("existsMemberId");
query.setParameter("memberId");
executeQuery(query);
// If the query returns something then the reference exists and it is ok to proceed
}
在文件中,您正在存儲查詢...
#existsMemberId
select 1
from members mem
where mem.id = :id <-- parameter
另外,您應該在成員和訪客通行證之間使用ID作為外鍵進行外鍵約束:
ALTER TABLE GuestPasses
ADD CONSTRAINT fk_memberId
FOREIGN KEY (id)
REFERENCES Members(id)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.