当前位置: 代码迷 >> ASP.NET >> 有关问题很简单,寻最佳,效率最高的方案
  详细解决方案

有关问题很简单,寻最佳,效率最高的方案

热度:2803   发布时间:2013-02-25 00:00:00.0
问题很简单,!!!!寻求一个最佳,效率最高的方案.
页面上有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;
}

后面加的那个应该不是太正确的,自己改吧,我自己贪方便,插入语句一定不是这个格式
  相关解决方案