原先是寫好sql後能順利跑出資料庫裡的表格
但後來發現要做出來的結果得加上條件式
奇怪的是條件式能跑了
但sql語法卻故障,找了老半天也看不出來是出了甚麼問題
visual也沒提示code有問題
希望有大佬能幫忙解決QQ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace 試作.搜尋引擎
{
public partial class 搜尋2 : System.Web.UI.Page
{
string Search_String = "";
protected void Page_Load(object sender, EventArgs e)
{
string mainconn = ConfigurationManager.ConnectionStrings["G HConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(mainconn);
sqlconn.Open();
SqlCommand sqlcomm = new SqlCommand();
sqlcomm.Connection = sqlconn;
DataTable AAA = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(sqlcomm);
sqlcomm.Parameters.AddWithValue("內文", TextBox1.Text);
sqlcomm.Parameters.AddWithValue("留言", TextBox1.Text);
GridView1.DataSource = AAA;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
string Search_String = "";
Boolean u_select = false;
int word_length = 0;
for (int i = 0; i < DDL1.Items.Count; i++)
{
if (DDL1.Items[i].Selected)
{
Search_String += DDL1.Items[i].Text;
u_select = true; /*這邊要判斷是真*/
}
}
if (u_select)
{
string Left(string param, int length)
{
string result = param.Substring(0, length);
return result;
}
word_length = Search_String.Length; /*length 要用英文的長度來判斷*/
Search_String = Left(Search_String, (word_length)); /*length 要看情況使用-or+*/
Label1.Text = Search_String;
}
else
{
Label1.Text = "您尚未點選任何一個DowndropList子選項";
return;
}
SqlDataSource1.SelectCommand = "SELECT * FROM [dbo].[ptt123] where 內文 like '" + Search_String + "'";
}
/* String sqlquery = "select * from [dbo].[ptt123] where 內文 like '%'+@Search_String+'%'";*/
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["G HConnectionString"].ToString();
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select * from [dbo].[ptt123]";
cmd.Connection = con;
SqlDataReader rd = cmd.ExecuteReader();
object dt = null;
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["G HConnectionString"].ToString();
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT [日期], [內文], [留言] FROM [dbo].[ptt123] where 內文 like '" + Search_String + "'";
cmd.Connection = con;
SqlDataReader rd = cmd.ExecuteReader();
object dt = null;
GridView2.DataSource = dt;
GridView2.DataBind();
}
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
}
}
}
先把您組合成功的SQL指令,呈現在畫面上,看看組合後的結果
SQL Command能否執行
也就是按下按鈕以後,這一段字串能否呈現在畫面上
用一個 Label看看他的結果?
"SELECT * FROM [dbo].[ptt123] where 內文 like '" + Search_String + "'"
另外,為什麼要用 "中文"幫你的專案、程式命名啊?
資料表的欄位也是 "中文",是特殊需求嗎?
namespace 試作.搜尋引擎
{
public partial class 搜尋2 : System.Web.UI.Page