页面上有Textbox1,Textbox2,Textbox3
按纽点击后,我需要把这3行Textbox的数据插入到数据库的 对应的字段,cd1,cd2和cd3
如果Textbox1没输入,Textbox2,Textbox3输入了,则把Textbox2和Textbox3插入到cd1,cd2
如果Textbox2没输入,Textbox1,Textbox3输入了,则把Textbox1和Textbox3插入到cd1,cd2
如果Textbox1没输入,只有Textbox2输入了,则把Textbox2插入到cd1
如果Textbox1没输入,只有Textbox3输入了,则把Textbox3插入到cd1
依次类推,说白了就是填补上未输入的.
谢谢,C# ,VB.NET均可以.谢谢!!!
------解决方案--------------------------------------------------------
暂时想不出好的办法,只能一个一个判断了
------解决方案--------------------------------------------------------
使用ArrayList把三个控件的值Add进
然后遍历 是String.Empty的就移除
然后循环向数据库插入
------解决方案--------------------------------------------------------
string cd1 = null, cd2 = null, cd3 = null;
string aa = "|" + TextBox1.Text + "|" + TextBox2.Text + "|" + TextBox3.Text + "|";
aa = aa.Replace("||", "|").Replace("||", "|");
string [] bb = aa.Split ('|');
int n = bb.Length ;
if (n > 1) cd1 = bb[1];
if (n > 2) cd2 = bb[2];
if (n > 3) cd3 = bb[3];
Response.Write("cd1=" + cd1 + "<br/>");
Response.Write("cd2=" + cd2 + "<br/>");
Response.Write("cd3=" + cd3 + "<br/>");
不知道我的本办法可用否!! 大概思路就是这样,我初学 .net 不知道有没有更好的办法
------解决方案--------------------------------------------------------
- C# code
ArrayList arylist = new ArrayList(); arylist.Add(TextBox1.Text.ToString()); arylist.Add(TextBox2.Text.ToString()); arylist.Add(TextBox3.Text.ToString()); for (int i = arylist.Count - 1; i >= 0; i--) { if (arylist[i].ToString().Equals("")) { arylist.Remove(arylist[i]); } } StringBuilder strSql = new StringBuilder(); strSql.Append("insert into yourtable("); for (int i = 0; i < arylist.Count; i++) { if (i.Equals(arylist.Count - 1)) { strSql.Append(" cd" + i.ToString() + ")"); } else { strSql.Append(" cd" + i.ToString() + ","); } } strSql.Append(" values("); for (int i = 0; i < arylist.Count; i++) { if (i.Equals(arylist.Count - 1)) { strSql.Append("{'" + i.ToString() + "'})"); } else { strSql.Append("{'" + i.ToString() + "'},"); } } string strQ = string.Format(strSql.ToString(), arylist.ToArray());
------解决方案--------------------------------------------------------
string[] textStrArray=new string[3] {TextBox1.Text ,TextBox2.Text ,TextBox3.Text };
string[] dataFieldArray=new string[3]{"cd1","cd2","cd3"};
string insertString="":
int index=0;
foreach(string tmpStr in textStrArray)
{
if(!string.IsNullOrEmpty(tmpStr))
insertString+= dataFieldArray[index++]+ tmpStr;
}
后面加的那个应该不是太正确的,自己改吧,我自己贪方便,插入语句一定不是这个格式