Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > .NET Framework > Forum > error ในการ search ข้อมูลครับ ไม่ทราบว่าเป็นข้อมูลแบบ ไหน ต้องโค๊ดดักอย่างไรครับ



 

error ในการ search ข้อมูลครับ ไม่ทราบว่าเป็นข้อมูลแบบ ไหน ต้องโค๊ดดักอย่างไรครับ

 



Topic : 119584



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์




คือ ผมลอง search นะครับ แล้ว ไส่ ตัวเลขกับ ตัวอักษร ได้ปกติ แต่พอ ไส่ ----> ' <----ลง ไป มันก็ error The data types varchar and varchar are incompatible in the modulo operator. อะครับ ต้องโค๊ดดักยังไงครับ

1



Tag : .NET, Ms SQL Server 2012, C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-10-27 10:40:05 By : phuriwat View : 1133 Reply : 24
 

 

No. 1



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

SQL ละครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 10:44:32 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-27 10:44:32
รายละเอียดของการตอบ ::
แก้ในตัว sever เลยหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 10:56:15 By : phuriwat
 

 

No. 3



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 2 เขียนโดย : phuriwat เมื่อวันที่ 2015-10-27 10:56:15
รายละเอียดของการตอบ ::
ไม่เห็นมี SQL มาก็เลยถามดู

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 11:05:58 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-27 11:05:58
รายละเอียดของการตอบ ::
แล้วอันนี้คือ โค๊ด ดักได้ป่าว ครับ ช่องที่ไว้ไส่เป็น แบบ textbox อ่าครับ



ประวัติการแก้ไข
2015-10-27 11:21:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 11:13:03 By : phuriwat
 


 

No. 5



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

งั้นเอาโคดมาดูก่อนละกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 11:22:02 By : lamaka.tor
 


 

No. 6



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-27 11:22:02
รายละเอียดของการตอบ ::
คือยัง ไม่ได้ทำแก้ error อะ ครับ คือติด แค่ตัว ' นี้ หละ ครับ ผมไม่รู้ว่าจะแก้ยังไง แต่พิม ตัว อื่น พวก !@#$% ได้ นะครับ แต่คือจะไม่มีข้อมูล แต่พอพิมตัว ' มัน ไม่ได้อะครับมัน error คือมันเป็นชนิดอะไรหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 11:34:44 By : phuriwat
 


 

No. 7



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ขอโทษนะครับเริ่มเหนื่อยแระ
คือที่ให้มาแค่นั้นมันไม่ช่วยแก้ปัญหาได้

อยากดู SQL หรือ โคดไรก็ได้ที่เป็นต้นเหตอ่าครับ

รึ dt มันไม่ต้องใช้ SQL รึ โคดรึครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 13:42:47 By : lamaka.tor
 


 

No. 8



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


อันนี้โค๊ด ของการค้นหาครับ
Code (C#)
 private void search()
        {

            if (conn.State == ConnectionState.Closed)
                conn.Open();
            SqlDataAdapter sda = new SqlDataAdapter(
            "select (materials.id),(materials.private_code),(materials.mat_code),(materials.serial),(materials.name),(materials.unit_name),(materials.description),(materials.remark),isnull(mat_onhands.quantity,0) as quantity FROM materials LEFT JOIN mat_onhands ON materials.id=mat_onhands.material_id where (materials.mat_group_id like'" + P_group.SelectedValue + "%' and materials.mat_category_id like'" + P_category.SelectedValue + "%' and(materials.name like'" + text_search.Text + "%' or materials.serial like'" + text_search.Text + "%') )"
           , conn);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dataGridView1.Rows.Clear();
            foreach (DataRow item in dt.Rows)
            {
                int n = dataGridView1.Rows.Add();
                dataGridView1.Rows[n].Cells[0].Value = item["private_code"].ToString();
                dataGridView1.Rows[n].Cells[1].Value = item["mat_code"].ToString();
                dataGridView1.Rows[n].Cells[2].Value = item["serial"].ToString();
                dataGridView1.Rows[n].Cells[3].Value = item["name"].ToString();
                dataGridView1.Rows[n].Cells[4].Value = item["unit_name"].ToString();
                dataGridView1.Rows[n].Cells[5].Value = item["description"].ToString();
                dataGridView1.Rows[n].Cells[6].Value = item["remark"].ToString();
                dataGridView1.Rows[n].Cells[7].Value = item["quantity"].ToString();        
            }
            conn.Close();
            if (dataGridView1.Rows.Count == 0)
            {
                MessageBox.Show("No Material Data ", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            text_search.Clear();
            text_search.Focus();
        }


อันนี้ UI ครับ
1


ประวัติการแก้ไข
2015-10-27 17:13:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 17:10:38 By : phuriwat
 


 

No. 9



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

Error ตอนที่ text_search.Text = ' ใช่ไม๊ครับ
สามารถดักจับได้ก็ประมาณ

Code (C#)
text_search.Text = (text_search.Text == "'")? "":text_search.Text;



รึไม่ก็

Code (C#)
MessageBox.Show("select (materials.id),(materials.private_code),(materials.mat_code),(materials.serial),(materials.name),(materials.unit_name),(materials.description),(materials.remark),isnull(mat_onhands.quantity,0) as quantity FROM materials LEFT JOIN mat_onhands ON materials.id=mat_onhands.material_id where (materials.mat_group_id like'" + P_group.SelectedValue + "%' and materials.mat_category_id like'" + P_category.SelectedValue + "%' and(materials.name like'" + text_search.Text + "%' or materials.serial like'" + text_search.Text + "%') )")


เพื่อดูว่าได้ตามที่ต้องการรึป่าวครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 18:11:33 By : lamaka.tor
 


 

No. 10



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


MS SQL
ถ้าจะใช้ ' ให้เปลี่ยนไปเป็น '' ครับ

ตัวอย่างครับ
Code (C#)
private string S(string txt)
        {
                return "\'" + txt.Replace("\'", "\'\'") + "\'";
        }
private void search()
{
       string Sqlcmd;
       SqlCmd=" select * from TableName where field1=" + S(txtsearch.text);
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 08:57:17 By : fonfire
 


 

No. 11



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-27 18:11:33
รายละเอียดของการตอบ ::
text_search.Text = (text_search.Text == "'") ? "" : text_search.Text;
ตัวนี้ ได้ครับ แต่ ได้ตัวเดียว เช่น ถ้าใส่ 'g' ก็ error Incorrect syntax near 'g'. แปป เดิม ครับ


ตอบความคิดเห็นที่ : 10 เขียนโดย : fonfire เมื่อวันที่ 2015-10-28 08:57:17
รายละเอียดของการตอบ ::
ผมลองดูแล้วครับ มัน error นี้ครับ Incorrect syntax near '0'.
อันนี้โค๊ดที่ผม ไส่ ครับ
Code (C#)
            string sq1 =
 "select (materials.id),(materials.private_code),(materials.mat_code),(materials.serial),(materials.name),(materials.unit_name),(materials.description),(materials.remark),isnull(mat_onhands.quantity,0) as quantity FROM materials LEFT JOIN mat_onhands ON materials.id=mat_onhands.material_id where (materials.mat_group_id like'" + P_group.SelectedValue + "%' and materials.mat_category_id like'" + P_category.SelectedValue + "%' and (materials.name like'" + text_search.Text + "%' or materials.serial like'" + text_search.Text + "%') )"+S(text_search.Text);



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 10:38:39 By : phuriwat
 


 

No. 12



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


แล้ว ถ้าทำไห้ textbox ไม่พิม ตัว ' นี้ ตัว เดียวต้องทำไงครับ เหมือนแบบ ไม่ไห้พิมตัวอักษรอ่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 10:52:37 By : phuriwat
 


 

No. 13



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ความจริงมันผิดหลักอ่าครับ
คือเราต้องการค้นหาคำว่า

'g'

พอลงใน SQL syntex
จะกลายเป็น

like''g'%'

ซึ่งความจริง user คงไม่ค่อยใช้งานแบบนี้อ่าครับ
เท่ากับว่าเราจะต้องเพิ่ม skill ให้ user เป็นการ make job ให้ user นะครับ
ส่วนใหญ่ก็แค่ค้น g อย่างเดียว


ลองแจ้งวัตถุประสงค์การค้นหามาดูจะได้ช่วยกันออกแบบได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 11:07:43 By : lamaka.tor
 


 

No. 14



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 13 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-28 11:07:43
รายละเอียดของการตอบ ::
อันนี้คือเผื่อ ถ้า พิมมั่วครับ เช่น abcde' แบบนี้อ่าครับ หรือ แบบจะกด enter แล้วไปโดนตัว ' ซึ่งมันอยู่ไกล้มากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 11:15:44 By : phuriwat
 


 

No. 15



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


คือที่เอา S(text_search.Text) ไปต่อแบบนั้นทำให้คำสั่ง SQL มันผิดอ่ะครับ
ถ้าไม่อยากให้มี ' อาจจะไม่ต้อง lock ก็ได้ครับ
ใช้คำสั่ง replace แทนก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 11:18:05 By : fonfire
 


 

No. 16



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 15 เขียนโดย : fonfire เมื่อวันที่ 2015-10-28 11:18:05
รายละเอียดของการตอบ ::
ใช้อย่างไรครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 11:20:21 By : phuriwat
 


 

No. 17



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


// เอา ' ออกจาก textbox
text_search.Text=text_search.Text.Replace("\'", "") ;

string sq1 =
"select (materials.id),(materials.private_code),(materials.mat_code),(materials.serial),(materials.name),(materials.unit_name),(materials.description),(materials.remark),isnull(mat_onhands.quantity,0) as quantity FROM materials LEFT JOIN mat_onhands ON materials.id=mat_onhands.material_id where (materials.mat_group_id like'" + P_group.SelectedValue + "%' and materials.mat_category_id like'" + P_category.SelectedValue + "%' and (materials.name like'" + text_search.Text + "%' or materials.serial like'" + text_search.Text + "%') )";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 11:25:12 By : fonfire
 


 

No. 18



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ ขอบคุณทุกคนมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 11:38:00 By : phuriwat
 


 

No. 19

Guest


สมมุติว่าผมเป็น Users ก็จริง แต่ความต้องการมันแปลกปะลาตมาก มันใหญ่ใหญ่พอฯกับเจ้าของบริษัท
เช่นต้องการค้นคำว่า

can't
ห'อวบ

ปัญหาของคุณมันก็ยังไม่จบ (ไม่ครอบคลุมทุกฯกรณี) เป็นต้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 12:14:30 By : หน้าฮี
 


 

No. 20



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 19 เขียนโดย : หน้าฮี เมื่อวันที่ 2015-10-28 12:14:30
รายละเอียดของการตอบ ::
ใช่ๆๆ ครับอันนี้เห็นด้วยเลย 555



ประเด็นมันยุตรงนี้อ่าครับ

can't ไม่ Error
แต่ can't' หรือ 'can't จะ Error

งั้นลองใช้การตรวจ substring

Code (C#)
private void text_search_TextChanged(object sender, EventArgs e)
        {
            text_search.Text = (text_search.Text.Substring(0, 1) == "'") ? text_search.Text.Substring(1, text_search.Text.Length-1) : text_search.Text;
            text_search.Text = (text_search.Text.Substring(text_search.Text.Length-1, 1) == "'") ? text_search.Text.Substring(0, text_search.Text.Length-1) : text_search.Text;
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 13:51:05 By : lamaka.tor
 


 

No. 21



โพสกระทู้ ( 4,437 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ความจริงดักจับคำต้องห้ามไว้เลยก็ได้นิครับ

Code (C#)
private void text_search_TextChanged(object sender, EventArgs e)
        {
            string[] cri = new string[] { "'", "เ", "ห", "ี", "้", "ย" };
            foreach (string s in cri)
            {
                text_search.Text = (text_search.Text.Substring(0, 1) == s) ? text_search.Text.Substring(1, text_search.Text.Length - 1) : text_search.Text;
                text_search.Text = (text_search.Text.Substring(text_search.Text.Length - 1, 1) == s) ? text_search.Text.Substring(0, text_search.Text.Length - 1) : text_search.Text;
            }
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 13:55:58 By : lamaka.tor
 


 

No. 22



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 21 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-10-28 13:55:58
รายละเอียดของการตอบ ::
ขอบคุณมาก เลยครับ ทุกท่านเลย Y^Y

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 14:25:47 By : phuriwat
 


 

No. 23



โพสกระทู้ ( 821 )
บทความ ( 0 )



สถานะออฟไลน์


MS SQL
ถ้าจะใช้ ' ให้เปลี่ยนไปเป็น '' ครับ

ตัวอย่าง
select * from table1 where field1= 'Can''t'
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 15:05:28 By : fonfire
 


 

No. 24



โพสกระทู้ ( 202 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 23 เขียนโดย : fonfire เมื่อวันที่ 2015-10-28 15:05:28
รายละเอียดของการตอบ ::
อ๋อ ที่ว่า ค้นหา can't ใน sql อะนะครับ ของผมมันไม่ไช้เลยอ่าครับ ตัว ' ขอบคุณมากครับทุกคนเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-28 16:39:52 By : phuriwat
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : error ในการ search ข้อมูลครับ ไม่ทราบว่าเป็นข้อมูลแบบ ไหน ต้องโค๊ดดักอย่างไรครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่