String strSQL = @"select * from cancer_plan where pat_no=" + TextBox3.Text;
System.Data.SqlClient.SqlCommand myCommand1 = new System.Data.SqlClient.SqlCommand(strSQL, myConn1);
System.Data.SqlClient.SqlDataReader myDataReader = myCommand1.ExecuteReader();
if (myDataReader.Read())
{
myMsg.Text = "<script>alert('已有此病歷號的規畫書!')</script><br>";
this.Page.Controls.Add(myMsg);
}
因為之前判斷上為單一不重複
現在要增加日期 去做同pat_no的多份存取
請問以上若要修正
要如何更改...
String strSQL = @"select * from cancer_plan where pat_no=" + TextBox3.Text + "and date=" + today.Text;
System.Data.SqlClient.SqlCommand myCommand1 = new System.Data.SqlClient.SqlCommand(strSQL, myConn1);
System.Data.SqlClient.SqlDataReader myDataReader = myCommand1.ExecuteReader();<<發生錯誤的地方
if (myDataReader.Read())
{
myMsg.Text = "<script>alert('已有此病歷號的規畫書!')</script><br>";
this.Page.Controls.Add(myMsg);
}
這邊看下來,你的邏輯是想要where增加兩個條件?
假如上面邏輯是對的
看到你想要用字串拼接
方式來組合SQL
先撇開SQL注入問題,型態是字串的要加上'
SQL server為例,Date型態也要加上'
String sql = "select * from xxx_table where xxx_col = '"+ xxx_value +"'";
//------------------------------
String sql = "select * from xxx_table where xxx_Date = '"+ "2018-03-19" +"'";
把圖片指出地方改成以下提供的Script
String strSQL = @"select * from cancer_plan where pat_no='" + TextBox3.Text + "' and date= '" + today.Text + "'";
假如有問題再跟我說 :-)
強烈建議看完 常在面試出現的題目:SQL Injection ,了解SQL注入危險(要不然正式上線,資料庫被drop、delete會很慘的)
錯誤訊息也不PO....
暐翰大很棒,直接給了您答案,但是建議您這樣作:
先在這行程式System.Data.SqlClient.SqlCommand myCommand1 = new 上加個中斷點,然後執行程式,執行到中斷點停止時,複製strSQL的變數值,直接在資料庫管理工具上執行這行指令,將SQL指令改到可以正常出現您要的結果,再去調整您的程式。